|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
public interface TssLowlevel
A low level interface to a tpm chip. When you are going to do some more difficult things, you should prefer this over TssHighLevel.
| Nested Class Summary | |
|---|---|
static interface |
TssLowlevel.AlgorithmId
IDs for all algorithms used by the TPM. |
static interface |
TssLowlevel.Capabilities
Constants for GetCapability. |
static interface |
TssLowlevel.CommandTag
The used command tags. |
static interface |
TssLowlevel.EncScheme
The used encryption schemes |
static interface |
TssLowlevel.EntityType
All entitz types the TPM knows. |
static interface |
TssLowlevel.KeyHandle
Keyhandles for the TPMs keystore. |
static interface |
TssLowlevel.MigrateScheme
The possible migration schemes |
static interface |
TssLowlevel.ProtocolId
the protocols the TPM uses. |
static interface |
TssLowlevel.ResourceType
The resource types defined by the TPM. |
static interface |
TssLowlevel.SigScheme
The supported signature schemes |
static interface |
TssLowlevel.StartupType
The startup types define the way the TPM starts. |
| Field Summary | |
|---|---|
static java.nio.ByteOrder |
TPM_BYTE_ORDER
The TPM uses BIG_ENDIAN byte order. |
static int |
TPM_HASHSIZE
As a consequence of using SHA1, all hashes are 20 byte long |
static int |
VERSION11
|
static int |
VERSION12
|
| Method Summary | |
|---|---|
byte[] |
GetNounce()
|
byte[] |
GetRandomBytes(int size)
get some random data (from a normal Random, not from the TPM) |
boolean |
isCheckReply()
|
boolean |
isDebug()
|
void |
setCheckReply(boolean checkReply)
Turn reply verification (hmac, hash) on or off |
void |
setDebug(boolean debug)
If set to true, all binary commands and answers will be printed to System.Err |
TPMSymmetricKey |
TPM_ActivateIdentity(int key,
byte[] blob,
byte[] ownerPass,
TPMOSAPSession keySession)
activate an Identity Attestation Key with some data from some privacy CA |
TPMMigrationKeyAuth |
TPM_AuthorizeMigrationKey(TPMPubKeyWrapper pubKey,
short migrationScheme,
TPMOSAPSession session)
create a Migration Key Auth - this is what you need if you want to migrate a key |
TPMCertifyInfo |
TPM_CertifyKey(int certKey,
int keyToCertify,
byte[] nounce,
TPMOSAPSession certSession,
TPMOSAPSession keySession)
sign one key's public key with another key |
byte[] |
TPM_ChangeAuth(TPMOSAPSession sessionParent,
int parentKeyHandle,
byte[] currentAuth,
byte[] newAuth,
short entityType,
byte[] data)
Change the password for an entity |
void |
TPM_ChangeAuthOwner(TPMOSAPSession session,
short entityType,
byte[] newAuth)
Change an entities' password with owner power |
void |
TPM_ContinueSelfTest()
Ensure that all self tests are run |
byte[] |
TPM_ConvertMigrationBlob(int parentKeyHandle,
byte[] migrationBlob,
TPMOSAPSession session)
read a migration blob into the new TPM |
int |
TPM_CreateCounter(byte[] newCounterPass,
byte[] label,
TPMOSAPSession session)
create a new monotonic counter (1.2 only) |
byte[] |
TPM_CreateMigrationBlob(int parentKeyHandle,
short migrationScheme,
TPMMigrationKeyAuth mka,
byte[] encryptedEntity,
TPMOSAPSession parentKeySession,
byte[] entityMigrationPass)
create a migration blob - you can use TPM_ConvertMigrationBlob later to re-import the blob on another TPM |
TPMKeyWrapper |
TPM_CreateWrapKey(int parentKeyID,
byte[] parentKeyPass,
byte[] newKeyPass,
byte[] migrationPass,
TPMKeyWrapper template)
Create a new key for use inside the TPM |
byte[] |
TPM_DirRead(int dirIndex)
read the contents of the given Data Integrity Register |
void |
TPM_DirWriteAuth(int dirIndex,
byte[] newContents,
TPMOSAPSession session)
Write to a given Date Integrity Register |
void |
TPM_DisableForceClear()
disable ForceClear until the next startup of the TPM |
void |
TPM_DisableOwnerClear(byte[] ownerAuth)
Disable the possibility to clear the owner. |
void |
TPM_DisablePubekRead(byte[] ownerAuth)
disable ReadPubek |
TPMTransportSession |
TPM_EstablishTransport(int key,
TPMTransportPublic transportPublic,
byte[] encryptedSecret,
TPMOSAPSession session)
These commands have not been tested, because the 1.2 TPM emulator oopses when I try... |
void |
TPM_EvictKey(int handle)
unload the key given by handle. this function is deprecated in 1.2, use flush_specific instead! |
byte[] |
TPM_ExecuteTransport(byte[] wrappedCmd,
TPMTransportSession session)
|
byte[] |
TPM_Extend(int regnum,
byte[] newValue)
Extend one PCR - PCR[x] = SHA1(PCR[x] || newValue) |
void |
TPM_FlushSpecific(int handle,
int resourceType)
TPM 1.2 command, terminate the given handle of the resourceType (see TSSCoreService.ResourceType) |
void |
TPM_ForceClear()
clear the owner using physical presence as authorization |
int[] |
TPM_GetCapability_Key_Handle()
GetCapability for TPM_CAP_KEY_HANDLE |
int |
TPM_GetCapability_Pcrs()
GetCapability for TPM_CAP_PROP_PCR |
int |
TPM_GetCapability_Slots()
GetCapability for TPM_CAP_PROP_KEYS |
int |
TPM_GetCapability_Version()
GetCapability for TPM_CAP_VERSION |
byte[] |
TPM_GetCapability(int capArea,
byte[] stuff)
return some information about the TPM. for capArea, please see TssLowLevel.Capabilities |
TPMPubKeyWrapper |
TPM_GetPubKey(int keyHandle,
byte[] keyPass)
Get the public key part of a key inside the TPM |
byte[] |
TPM_GetRandom(int num_bytes)
get some random bytes from the TPM |
byte[] |
TPM_GetTestResult()
Retrieve the results of the self tests (even in failure mode) |
java.math.BigInteger |
TPM_GetTicks()
Get the tick count from the TPM. this does not need to be more than a monotonic counter |
java.math.BigInteger |
TPM_IncrementCounter(int counterID,
TPMOSAPSession session)
increment a monotonic counter |
int |
TPM_LoadKey(int parentKeyID,
TPMKeyWrapper key,
TPMOSAPSession session)
Load a key (aka encrypted blob) inside the TPM to do something useful with it |
TSSIdentityInfo |
TPM_MakeIdentity(byte[] newKeyPass,
byte[] srkPass,
byte[] caDigest,
TPMKeyWrapper template,
TPMOSAPSession ownerSession)
create an Identity Attestation Key |
TPMOIAPSession |
TPM_OIAP()
Open an OIAP (Object Independant) session - needed to authorize some commands |
TPMOSAPSession |
TPM_OSAP(short entityType,
int entityValue)
Open an OSAP (Object Specific) session to authorize the use of special entities. |
void |
TPM_OwnerClear(byte[] ownerAuth)
Clears the TPM (remove SRK and other keys) |
TPMPubKeyWrapper |
TPM_OwnerReadInternalPub(int key,
byte[] ownerAuth)
use owner authorization to read a keys' public part |
void |
TPM_PCR_Reset(PCRSelection pcr)
reset a selection of PCRs using locality authorization |
byte[] |
TPM_PCRRead(int regnum)
Read the value of the given PCR |
void |
TPM_PhysicalDisable()
disable the TPM using physical presense as authorization |
void |
TPM_PhysicalEnable()
enable the TPM using physical presense as authorization. |
byte[] |
TPM_Quote(int key,
PCRSelection pcrSel,
byte[] nounce,
TPMOSAPSession session)
Certify the current state of the system |
java.math.BigInteger |
TPM_ReadCounter(int counterID)
read the current value of a counter |
TPMPubKeyWrapper |
TPM_ReadPubek()
Read the public part of the endorsement key |
void |
TPM_ReleaseCounter(int counterID,
TPMOSAPSession session)
release a counter |
void |
TPM_ReleaseCounterOwner(int counterID,
TPMOSAPSession session)
release a counter with owner authorization |
boolean |
TPM_Reset()
Reset the TPM (clear open session etc., this does not delete any keys) |
void |
TPM_SaveState()
This warns a TPM to save some state information. |
byte[] |
TPM_Seal(int key,
byte[] dataAuth,
byte[] data,
byte[] tpm_pcr_info,
TPMOSAPSession session)
Seal data - this way, the data can only be encrypted when the PCRs have the specified values |
boolean |
TPM_SelfTestFull()
run a self test |
byte[] |
TPM_SHA1Complete(byte[] data)
complete hash calculation |
byte[] |
TPM_SHA1CompleteExtend(int regnum,
byte[] data)
complete hash calculation, extend the given PCR with the result |
int |
TPM_SHA1Start()
start a SHA1 compution inside the TPM |
void |
TPM_SHA1Update(byte[] data)
copy data to the TPM for hash computation |
byte[] |
TPM_Sign(int key,
byte[] data,
TPMOSAPSession session)
Sign data using a key inside the TPM |
void |
TPM_Startup(short startupType)
this happens automaticially when starting the TPM, this is here only for completeness |
void |
TPM_StirRandom(byte[] data)
put some entropy into the TPM |
TPMKeyWrapper |
TPM_TakeOwnership(byte[] ownerPass,
byte[] srkPass)
Take Ownership of the TPM - this will create a SRK and set the most important passwords |
void |
TPM_Terminate_Handle(int handle)
close a session handle - this is deprecated in 1.2, use FlushSpecific instead |
void |
TPM_Terminate_Handle(TPMSession s)
close a session - this is depricated in 1,2, use FlushSpecific instead |
TPMSignedData |
TPM_TickStampBlob(int key,
byte[] antiReplay,
byte[] digest,
TPMOSAPSession session)
timestamp a given digest with a given key |
byte[] |
TPM_Unbind(int key,
byte[] data,
TPMOSAPSession session)
Unbind - just decrypt data which was encrypted with a public key belonging to a TPM key |
byte[] |
TPM_Unseal(int key,
byte[] sealedAuth,
byte[] sealedData,
TPMOSAPSession session)
Unseal - decrypt the sealed data (the PCRs must match the one specified when sealing) |
byte[] |
TSS_Bind(TPMPubKeyWrapper key,
byte[] data)
encrypt data for a given public key - the data can be decrypted using TPM_Unbind |
TCPAIdentityRequest |
TSS_CollateIdentityRequest(TCPAIdentityProof proof,
byte[] chosenId,
TPMKeyParms symParms,
TPMPubKeyWrapper caPubKey)
Combine a lot of stuff to build an Identity Request to be send to a Privacy CA |
byte[] |
TSS_RSA_Decrypt(java.security.PrivateKey key,
byte[] encrypted)
Decrypt some data encrypted to a PublicKey with TSS_RSA_Encrypt |
byte[] |
TSS_RSA_Encrypt(java.security.PublicKey key,
byte[] unencrypted)
encrypt some binary data to a public RSA key with all that TPM-specific pudding |
| Field Detail |
|---|
static final java.nio.ByteOrder TPM_BYTE_ORDER
static final int TPM_HASHSIZE
static final int VERSION11
static final int VERSION12
| Method Detail |
|---|
boolean isDebug()
void setDebug(boolean debug)
debug -
TPMOIAPSession TPM_OIAP()
throws java.io.IOException,
TPMException
java.io.IOException
TPMException
TPMOSAPSession TPM_OSAP(short entityType,
int entityValue)
throws java.io.IOException,
TPMException,
java.security.InvalidKeyException,
java.security.NoSuchAlgorithmException
entityType - should be one of TSSCoreService.EntityType (like keyhandle or
owner)entityValue - the actual entity you want to access (eg. keyhandle id)
java.io.IOException
TPMException
java.security.InvalidKeyException
java.security.NoSuchAlgorithmException
byte[] TPM_ChangeAuth(TPMOSAPSession sessionParent,
int parentKeyHandle,
byte[] currentAuth,
byte[] newAuth,
short entityType,
byte[] data)
throws java.security.NoSuchAlgorithmException,
TSSException,
java.io.IOException,
TPMException,
java.security.InvalidKeyException
sessionParent - the OSAP session which authorizes the parent, so that the
secret data of the entity we want to change can be decryptedparentKeyHandle - the handle of the parent keycurrentAuth - the current passwordnewAuth - the new passwordentityType - should be one of TSSCoreServoce.EntityType (like keyhandle or
owner)data - the encrypted blob we want to change
java.security.NoSuchAlgorithmException
TSSException
java.io.IOException
TPMException
java.security.InvalidKeyException
TPMKeyWrapper TPM_TakeOwnership(byte[] ownerPass,
byte[] srkPass)
throws java.security.NoSuchAlgorithmException,
java.io.IOException,
TPMException,
TSSException,
java.security.InvalidKeyException,
javax.crypto.NoSuchPaddingException,
java.security.InvalidAlgorithmParameterException,
java.security.spec.InvalidKeySpecException,
javax.crypto.IllegalBlockSizeException,
javax.crypto.BadPaddingException
ownerPass - the new owner passwordsrkPass - the new srk password
java.security.NoSuchAlgorithmException
java.io.IOException
TPMException
TSSException
java.security.InvalidKeyException
javax.crypto.NoSuchPaddingException
java.security.InvalidAlgorithmParameterException
java.security.spec.InvalidKeySpecException
javax.crypto.IllegalBlockSizeException
javax.crypto.BadPaddingException
void TPM_ChangeAuthOwner(TPMOSAPSession session,
short entityType,
byte[] newAuth)
throws java.security.NoSuchAlgorithmException,
TSSException,
java.io.IOException,
TPMException,
java.security.InvalidKeyException
session - authorized owner accessentityType - SRK or OwnernewAuth - new password
java.security.NoSuchAlgorithmException
TSSException
java.io.IOException
TPMException
java.security.InvalidKeyException
byte[] TPM_Extend(int regnum,
byte[] newValue)
throws java.io.IOException,
TSSException,
TPMException
regnum - the register to extendnewValue - the new value
java.io.IOException
TSSException
TPMException
byte[] TPM_PCRRead(int regnum)
throws java.io.IOException,
TPMException
regnum -
java.io.IOException
TPMException
byte[] TPM_Quote(int key,
PCRSelection pcrSel,
byte[] nounce,
TPMOSAPSession session)
throws java.security.InvalidKeyException,
java.security.NoSuchAlgorithmException,
java.io.IOException,
TPMException,
TSSException
key - the key to use for signingpcrSel - the PCRs to signnounce - a nounce to prevent replay attackssession - the authorization session for the used key
java.security.InvalidKeyException
java.security.NoSuchAlgorithmException
java.io.IOException
TPMException
TSSException
byte[] TPM_Seal(int key,
byte[] dataAuth,
byte[] data,
byte[] tpm_pcr_info,
TPMOSAPSession session)
throws java.security.InvalidKeyException,
java.security.NoSuchAlgorithmException,
java.io.IOException,
TPMException,
TSSException
key - the key used for encrpytiondataAuth - password for sealingdata - the actual data to be sealedtpm_pcr_info - the pcr selectionsession - the authorization session for the used key
java.security.InvalidKeyException
java.security.NoSuchAlgorithmException
java.io.IOException
TPMException
TSSException
byte[] TPM_Unseal(int key,
byte[] sealedAuth,
byte[] sealedData,
TPMOSAPSession session)
throws java.security.InvalidKeyException,
java.security.NoSuchAlgorithmException,
java.io.IOException,
TPMException,
TSSException
key - the key used to seal the datasealedAuth - the password for sealingsealedData - the actual encrypted (sealed) datasession - the authorization session for the used key
java.security.InvalidKeyException
java.security.NoSuchAlgorithmException
java.io.IOException
TPMException
TSSException
void TPM_DirWriteAuth(int dirIndex,
byte[] newContents,
TPMOSAPSession session)
throws java.security.NoSuchAlgorithmException,
TSSException,
java.io.IOException,
TPMException,
java.security.InvalidKeyException
dirIndex - index of the DIR to write tonewContents - new contents (exactly 20 bytes)session - owner authorized session
java.security.NoSuchAlgorithmException
TSSException
java.io.IOException
TPMException
java.security.InvalidKeyException
byte[] TPM_DirRead(int dirIndex)
throws java.security.NoSuchAlgorithmException,
TSSException,
java.io.IOException,
TPMException,
java.security.InvalidKeyException
dirIndex -
java.security.NoSuchAlgorithmException
TSSException
java.io.IOException
TPMException
java.security.InvalidKeyException
byte[] TPM_Unbind(int key,
byte[] data,
TPMOSAPSession session)
throws java.io.IOException,
TPMException,
java.security.InvalidKeyException,
java.security.NoSuchAlgorithmException,
TSSException
key - the key to use for decryptiondata - the encrypted datasession - the authorization session for the used key
java.io.IOException
TPMException
java.security.InvalidKeyException
java.security.NoSuchAlgorithmException
TSSException
TPMKeyWrapper TPM_CreateWrapKey(int parentKeyID,
byte[] parentKeyPass,
byte[] newKeyPass,
byte[] migrationPass,
TPMKeyWrapper template)
throws java.io.IOException,
TPMException,
java.security.InvalidKeyException,
java.security.NoSuchAlgorithmException,
TSSException
parentKeyID - the key id of the parent (if you don't have parents, use
TSSCoreService.KeyHandle.TPM_KH_SRK)parentKeyPass - the password to use the parent (no OSAP here, right)newKeyPass - the password for the new key (if any)migrationPass - if you want the key to be migratable, you need to specify a
migration password (*and* you have to set the migratable flag
in the template!)template - the template for the new key. just use the
TPMKeyWrapper.template... functions.
java.io.IOException
TPMException
java.security.InvalidKeyException
java.security.NoSuchAlgorithmException
TSSException
int TPM_LoadKey(int parentKeyID,
TPMKeyWrapper key,
TPMOSAPSession session)
throws java.io.IOException,
TPMException,
java.security.InvalidKeyException,
java.security.NoSuchAlgorithmException,
TSSException
parentKeyID - the parent of the key to loadkey - the key to loadsession - the authorization session for the used parent key
java.io.IOException
TPMException
java.security.InvalidKeyException
java.security.NoSuchAlgorithmException
TSSException
TPMPubKeyWrapper TPM_GetPubKey(int keyHandle,
byte[] keyPass)
throws java.security.InvalidKeyException,
java.security.NoSuchAlgorithmException,
TSSException,
java.io.IOException,
TPMException
keyHandle - the key...keyPass - the usage password for this key - you might not want everyone
to get you public key...
java.security.InvalidKeyException
java.security.NoSuchAlgorithmException
TSSException
java.io.IOException
TPMException
byte[] TPM_CreateMigrationBlob(int parentKeyHandle,
short migrationScheme,
TPMMigrationKeyAuth mka,
byte[] encryptedEntity,
TPMOSAPSession parentKeySession,
byte[] entityMigrationPass)
throws java.security.InvalidKeyException,
java.security.NoSuchAlgorithmException,
TSSException,
java.io.IOException,
TPMException
parentKeyHandle - the parent of the key to be migratedmigrationScheme - the migration scheme - see TSSCoreService.MigrationSchemesmka - the Migration Key Auth generated by TPM_AuthorizeMigrationAuthencryptedEntity - the encrypted keyparentKeySession - the authorization session for the used keys' parententityMigrationPass - the migration password (the one you gave when creating the
key)
java.security.InvalidKeyException
java.security.NoSuchAlgorithmException
TSSException
java.io.IOException
TPMException
byte[] TPM_ConvertMigrationBlob(int parentKeyHandle,
byte[] migrationBlob,
TPMOSAPSession session)
throws java.security.InvalidKeyException,
java.security.NoSuchAlgorithmException,
TSSException,
java.io.IOException,
TPMException
parentKeyHandle - the handle of the new parentmigrationBlob - the migration blob (what a surprise...)session - the authorization session for parent of the migrated key
java.security.InvalidKeyException
java.security.NoSuchAlgorithmException
TSSException
java.io.IOException
TPMException
TPMMigrationKeyAuth TPM_AuthorizeMigrationKey(TPMPubKeyWrapper pubKey,
short migrationScheme,
TPMOSAPSession session)
throws java.security.InvalidKeyException,
java.security.NoSuchAlgorithmException,
TSSException,
java.io.IOException,
TPMException
pubKey - the public key of the TPM the key shall be migrated to - be
sure it is the right one ;-)migrationScheme - migration scheme, see TSSCoreService.MigrationSchemesession - the authorization session for the used key
java.security.InvalidKeyException
java.security.NoSuchAlgorithmException
TSSException
java.io.IOException
TPMException
TPMCertifyInfo TPM_CertifyKey(int certKey,
int keyToCertify,
byte[] nounce,
TPMOSAPSession certSession,
TPMOSAPSession keySession)
throws java.io.IOException,
TPMException,
java.security.InvalidKeyException,
java.security.NoSuchAlgorithmException,
TSSException
certKey - the key used to signkeyToCertify - the key which should be certifiednounce - anti-replaycertSession - the authorization session for the key used to ceritifykeySession - the authorization session for the key to be certified
java.io.IOException
TPMException
java.security.InvalidKeyException
java.security.NoSuchAlgorithmException
TSSException
byte[] TPM_Sign(int key,
byte[] data,
TPMOSAPSession session)
throws java.io.IOException,
TPMException,
java.security.InvalidKeyException,
java.security.NoSuchAlgorithmException,
TSSException
key - the key to usedata - the data to signsession - the session authorizing the use of key
java.io.IOException
TPMException
java.security.InvalidKeyException
java.security.NoSuchAlgorithmException
TSSException
void TPM_EvictKey(int handle)
throws java.io.IOException,
TPMException
handle - the key to unload
java.io.IOException
TPMException
byte[] TPM_GetRandom(int num_bytes)
throws java.io.IOException,
TPMException
num_bytes - the number of bytes to retrieve
java.io.IOException
TPMException
void TPM_StirRandom(byte[] data)
throws java.io.IOException,
TPMException
data - random data
java.io.IOException
TPMException
boolean TPM_SelfTestFull()
throws java.io.IOException,
TPMException
java.io.IOException
TPMException
void TPM_ContinueSelfTest()
throws java.io.IOException,
TPMException
java.io.IOException
TPMException
byte[] TPM_GetTestResult()
throws java.io.IOException,
TPMException
java.io.IOException
TPMException
boolean TPM_Reset()
throws java.io.IOException,
TPMException
java.io.IOException
TPMException
void TPM_OwnerClear(byte[] ownerAuth)
throws java.io.IOException,
TPMException,
java.security.InvalidKeyException,
java.security.NoSuchAlgorithmException,
TSSException
ownerAuth - the owner password
java.io.IOException
TPMException
java.security.InvalidKeyException
java.security.NoSuchAlgorithmException
TSSException
void TPM_DisableOwnerClear(byte[] ownerAuth)
throws java.io.IOException,
TPMException,
java.security.InvalidKeyException,
java.security.NoSuchAlgorithmException,
TSSException
ownerAuth - the owner password
java.io.IOException
TPMException
java.security.InvalidKeyException
java.security.NoSuchAlgorithmException
TSSException
void TPM_ForceClear()
throws java.io.IOException,
TPMException
java.io.IOException
TPMException
void TPM_DisableForceClear()
throws java.io.IOException,
TPMException
java.io.IOException
TPMException
byte[] TPM_GetCapability(int capArea,
byte[] stuff)
throws java.io.IOException,
TPMException
capArea - the areastuff - area specific selector
java.io.IOException
TPMException
int TPM_GetCapability_Version()
throws java.io.IOException,
TPMException
java.io.IOException
TPMException
int TPM_GetCapability_Slots()
throws java.io.IOException,
TPMException
java.io.IOException
TPMException
int TPM_GetCapability_Pcrs()
throws java.io.IOException,
TPMException
java.io.IOException
TPMException
int[] TPM_GetCapability_Key_Handle()
throws java.io.IOException,
TPMException
java.io.IOException
TPMException
void TPM_PhysicalEnable()
throws java.io.IOException,
TPMException
java.io.IOException
TPMException
void TPM_PhysicalDisable()
throws java.io.IOException,
TPMException
java.io.IOException
TPMException
TSSIdentityInfo TPM_MakeIdentity(byte[] newKeyPass,
byte[] srkPass,
byte[] caDigest,
TPMKeyWrapper template,
TPMOSAPSession ownerSession)
throws java.io.IOException,
TPMException,
java.security.InvalidKeyException,
java.security.NoSuchAlgorithmException,
TSSException
newKeyPass - password for the new keysrkPass - the srk passwordcaDigest - digest of the identity label an privacy CAtemplate - template of the keyownerSession - session with owner authorization
java.io.IOException
TPMException
java.security.InvalidKeyException
java.security.NoSuchAlgorithmException
TSSException
TPMSymmetricKey TPM_ActivateIdentity(int key,
byte[] blob,
byte[] ownerPass,
TPMOSAPSession keySession)
throws java.io.IOException,
TPMException,
java.security.InvalidKeyException,
java.security.NoSuchAlgorithmException,
TSSException
key - blob - ownerPass - keySession -
java.io.IOException
TPMException
java.security.InvalidKeyException
java.security.NoSuchAlgorithmException
TSSException
TPMPubKeyWrapper TPM_ReadPubek()
throws java.io.IOException,
TPMException,
java.security.NoSuchAlgorithmException,
TSSException
java.io.IOException
TPMException
java.security.NoSuchAlgorithmException
TSSException
void TPM_DisablePubekRead(byte[] ownerAuth)
throws java.io.IOException,
TPMException,
java.security.InvalidKeyException,
java.security.NoSuchAlgorithmException,
TSSException
ownerAuth - the owner password
java.io.IOException
TPMException
java.security.InvalidKeyException
java.security.NoSuchAlgorithmException
TSSException
TPMPubKeyWrapper TPM_OwnerReadInternalPub(int key,
byte[] ownerAuth)
throws java.io.IOException,
TPMException,
java.security.InvalidKeyException,
java.security.NoSuchAlgorithmException,
TSSException
key - the key handleownerAuth - the owner password
java.io.IOException
TPMException
java.security.InvalidKeyException
java.security.NoSuchAlgorithmException
TSSException
void TPM_Terminate_Handle(int handle)
throws java.io.IOException,
TPMException
handle - the session handle to close
java.io.IOException
TPMException
void TPM_Terminate_Handle(TPMSession s)
throws java.io.IOException,
TPMException
s - session to terminate
java.io.IOException
TPMException
void TPM_SaveState()
throws java.io.IOException,
TPMException
java.io.IOException
TPMException
void TPM_Startup(short startupType)
throws java.io.IOException,
TPMException
startupType - see TSSCoreService.StartupType
java.io.IOException
TPMException
int TPM_SHA1Start()
throws java.io.IOException,
TPMException
java.io.IOException
TPMException
void TPM_SHA1Update(byte[] data)
throws java.io.IOException,
TPMException
data - Must be a multiple of 64 bytes
java.io.IOException
TPMException
byte[] TPM_SHA1Complete(byte[] data)
throws java.io.IOException,
TPMException
data - Must be 64 or less
java.io.IOException
TPMException
byte[] TPM_SHA1CompleteExtend(int regnum,
byte[] data)
throws java.io.IOException,
TPMException
regnum - PCR to extenddata - last data part (<=64 bytes)
java.io.IOException
TPMException
void TPM_FlushSpecific(int handle,
int resourceType)
throws java.io.IOException,
TPMException
handle - the handle to terminateresourceType - the resource type of the handle
java.io.IOException
TPMException
void TPM_PCR_Reset(PCRSelection pcr)
throws java.io.IOException,
TPMException
pcr - the selected PCRs
java.io.IOException
TPMException
int TPM_CreateCounter(byte[] newCounterPass,
byte[] label,
TPMOSAPSession session)
throws TSSException,
java.security.NoSuchAlgorithmException,
java.security.InvalidKeyException,
java.io.IOException,
TPMException
newCounterPass - the password to protect the new counterlabel - a 4 byte labelsession - owner authorization session
TSSException
java.security.NoSuchAlgorithmException
java.security.InvalidKeyException
java.io.IOException
TPMException
java.math.BigInteger TPM_IncrementCounter(int counterID,
TPMOSAPSession session)
throws TSSException,
java.security.NoSuchAlgorithmException,
java.security.InvalidKeyException,
java.io.IOException,
TPMException
counterID - the counter to incrementsession - authorization session for the counter
TSSException
java.security.NoSuchAlgorithmException
java.security.InvalidKeyException
java.io.IOException
TPMException
java.math.BigInteger TPM_ReadCounter(int counterID)
throws java.io.IOException,
TPMException
counterID - counter to read from
java.io.IOException
TPMException
void TPM_ReleaseCounter(int counterID,
TPMOSAPSession session)
throws TSSException,
java.security.NoSuchAlgorithmException,
java.security.InvalidKeyException,
java.io.IOException,
TPMException
counterID - the counter to releasesession - authorization session for the counter
TSSException
java.security.NoSuchAlgorithmException
java.security.InvalidKeyException
java.io.IOException
TPMException
void TPM_ReleaseCounterOwner(int counterID,
TPMOSAPSession session)
throws TSSException,
java.security.NoSuchAlgorithmException,
java.security.InvalidKeyException,
java.io.IOException,
TPMException
counterID - the counter to releasesession - authorization session for the owner
TSSException
java.security.NoSuchAlgorithmException
java.security.InvalidKeyException
java.io.IOException
TPMException
TPMTransportSession TPM_EstablishTransport(int key,
TPMTransportPublic transportPublic,
byte[] encryptedSecret,
TPMOSAPSession session)
throws TSSException,
java.security.NoSuchAlgorithmException,
java.security.InvalidKeyException,
java.io.IOException,
TPMException
key - transportPublic - encryptedSecret - session -
TSSException
java.security.NoSuchAlgorithmException
java.security.InvalidKeyException
java.io.IOException
TPMException
byte[] TPM_ExecuteTransport(byte[] wrappedCmd,
TPMTransportSession session)
throws TSSException,
java.security.NoSuchAlgorithmException,
java.security.InvalidKeyException,
java.io.IOException,
TPMException
TSSException
java.security.NoSuchAlgorithmException
java.security.InvalidKeyException
java.io.IOException
TPMException
java.math.BigInteger TPM_GetTicks()
throws java.io.IOException,
TPMException
java.io.IOException
TPMException
TPMSignedData TPM_TickStampBlob(int key,
byte[] antiReplay,
byte[] digest,
TPMOSAPSession session)
throws java.io.IOException,
TPMException,
java.security.InvalidKeyException,
java.security.NoSuchAlgorithmException,
TSSException
key - antiReplay - digest - session -
java.io.IOException
TPMException
java.security.InvalidKeyException
java.security.NoSuchAlgorithmException
TSSException
byte[] TSS_Bind(TPMPubKeyWrapper key,
byte[] data)
throws java.security.NoSuchAlgorithmException,
javax.crypto.NoSuchPaddingException,
java.security.InvalidKeyException,
java.security.spec.InvalidKeySpecException,
javax.crypto.IllegalBlockSizeException,
javax.crypto.BadPaddingException,
java.io.IOException,
TPMException,
java.security.InvalidAlgorithmParameterException
key - the key do encrypt todata - the data to encrypt
java.security.NoSuchAlgorithmException
javax.crypto.NoSuchPaddingException
java.security.InvalidKeyException
java.security.spec.InvalidKeySpecException
javax.crypto.IllegalBlockSizeException
javax.crypto.BadPaddingException
java.io.IOException
TPMException
java.security.InvalidAlgorithmParameterException
TCPAIdentityRequest TSS_CollateIdentityRequest(TCPAIdentityProof proof,
byte[] chosenId,
TPMKeyParms symParms,
TPMPubKeyWrapper caPubKey)
throws java.io.IOException,
TPMException,
java.security.NoSuchAlgorithmException,
java.security.SignatureException,
java.security.InvalidKeyException,
java.security.spec.InvalidKeySpecException,
java.security.InvalidAlgorithmParameterException,
javax.crypto.NoSuchPaddingException,
javax.crypto.IllegalBlockSizeException,
javax.crypto.BadPaddingException
proof - chosenId - symParms - caPubKey -
java.io.IOException
TPMException
java.security.NoSuchAlgorithmException
java.security.SignatureException
java.security.InvalidKeyException
java.security.spec.InvalidKeySpecException
java.security.InvalidAlgorithmParameterException
javax.crypto.NoSuchPaddingException
javax.crypto.IllegalBlockSizeException
javax.crypto.BadPaddingException
byte[] TSS_RSA_Encrypt(java.security.PublicKey key,
byte[] unencrypted)
throws java.security.NoSuchAlgorithmException,
javax.crypto.NoSuchPaddingException,
java.security.InvalidKeyException,
java.security.InvalidAlgorithmParameterException,
java.security.spec.InvalidKeySpecException,
javax.crypto.IllegalBlockSizeException,
javax.crypto.BadPaddingException
key - public RSA key to useunencrypted - the data to be encrypted
java.security.NoSuchAlgorithmException
javax.crypto.NoSuchPaddingException
java.security.InvalidKeyException
java.security.InvalidAlgorithmParameterException
java.security.spec.InvalidKeySpecException
javax.crypto.IllegalBlockSizeException
javax.crypto.BadPaddingException
byte[] TSS_RSA_Decrypt(java.security.PrivateKey key,
byte[] encrypted)
throws java.security.NoSuchAlgorithmException,
javax.crypto.NoSuchPaddingException,
java.security.InvalidKeyException,
java.security.InvalidAlgorithmParameterException,
java.security.spec.InvalidKeySpecException,
javax.crypto.IllegalBlockSizeException,
javax.crypto.BadPaddingException
key - encrypted -
java.security.NoSuchAlgorithmException
javax.crypto.NoSuchPaddingException
java.security.InvalidKeyException
java.security.InvalidAlgorithmParameterException
java.security.spec.InvalidKeySpecException
javax.crypto.IllegalBlockSizeException
javax.crypto.BadPaddingExceptionbyte[] GetNounce()
byte[] GetRandomBytes(int size)
size -
boolean isCheckReply()
void setCheckReply(boolean checkReply)
checkReply -
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||