de.datenzone.tpm4java
Class TPMException

java.lang.Object
  extended by java.lang.Throwable
      extended by java.lang.Exception
          extended by de.datenzone.tpm4java.TPMException
All Implemented Interfaces:
java.io.Serializable

public class TPMException
extends java.lang.Exception

TPMException wraps error code from the TPM, when a command could not be finished correctly. The TPM has a lot of error codes, and TPMException provides not only the names for these error code, but will print the reason for this code in human readable form. The error codes are from https://www.trustedcomputinggroup.org/groups/tpm/tpmwg-mainrev62_Part2_TPM_Structures.pdf

Author:
Martin Hermanowski
See Also:
Serialized Form

Field Summary
static int TPM_AREA_LOCKED
           
static int TPM_AUDITFAIL_SUCCESSFUL
           
static int TPM_AUDITFAIL_UNSUCCESSFUL
           
static int TPM_AUDITFAILURE
           
static int TPM_AUTH_CONFLICT
           
static int TPM_AUTH2FAIL
           
static int TPM_AUTHFAIL
           
static int TPM_BAD_ATTRIBUTES
           
static int TPM_BAD_COUNTER
           
static int TPM_BAD_DATASIZE
           
static int TPM_BAD_KEY_PROPERTY
           
static int TPM_BAD_LOCALITY
           
static int TPM_BAD_MIGRATION
           
static int TPM_BAD_MODE
           
static int TPM_BAD_ORDINAL
           
static int TPM_BAD_PARAM_SIZE
           
static int TPM_BAD_PARAMETER
           
static int TPM_BAD_PRESENCE
           
static int TPM_BAD_SCHEME
           
static int TPM_BAD_TYPE
           
static int TPM_BAD_VERSION
           
static int TPM_BADINDEX
           
static int TPM_BADTAG
           
static int TPM_BASE
           
static int TPM_CLEAR_DISABLED
           
static int TPM_CONTEXT_GAP
           
static int TPM_DAA_RESOURCES
           
static int TPM_DEACTIVATED
           
static int TPM_DECRYPT_ERROR
           
static int TPM_DELEGATE_ADMIN
           
static int TPM_DELEGATE_FAMILY
           
static int TPM_DELEGATE_LOCK
           
static int TPM_DISABLED
           
static int TPM_DISABLED_CMD
           
static int TPM_ENCRYPT_ERROR
           
static int TPM_FAIL
           
static int TPM_FAILEDSELFTEST
           
static int TPM_FAMILYCOUNT
           
static int TPM_INAPPROPRIATE_ENC
           
static int TPM_INAPPROPRIATE_SIG
           
static int TPM_INSTALL_DISABLED
           
static int TPM_INVALID_AUTHHANDLE
           
static int TPM_INVALID_FAMILY
           
static int TPM_INVALID_KEYHANDLE
           
static int TPM_INVALID_KEYUSAGE
           
static int TPM_INVALID_PCR_INFO
           
static int TPM_INVALID_POSTINIT
           
static int TPM_INVALID_RESOURCE
           
static int TPM_INVALID_STRUCTURE
           
static int TPM_IOERROR
           
static int TPM_KEY_NOTSUPPORTED
           
static int TPM_KEY_OWNER_CONTROL
           
static int TPM_KEYNOTFOUND
           
static int TPM_MAXNVWRITES
           
static int TPM_MIGRATEFAIL
           
static int TPM_NO_ENDORSEMENT
           
static int TPM_NO_NV_PERMISSION
           
static int TPM_NO_WRAP_TRANSPORT
           
static int TPM_NON_FATAL
           
static int TPM_NOOPERATOR
           
static int TPM_NOSPACE
           
static int TPM_NOSRK
           
static int TPM_NOT_FULLWRITE
           
static int TPM_NOTFIPS
           
static int TPM_NOTLOCAL
           
static int TPM_NOTRESETABLE
           
static int TPM_NOTSEALED_BLOB
           
static int TPM_OWNER_CONTROL
           
static int TPM_OWNER_SET
           
static int TPM_PER_NOWRITE
           
static int TPM_READ_ONLY
           
static int TPM_REQUIRES_SIGN
           
static int TPM_RESOURCEMISSING
           
static int TPM_RESOURCES
           
static int TPM_RETRY
           
static int TPM_SHA_ERROR
           
static int TPM_SHA_THREAD
           
static int TPM_SHORTRANDOM
           
static int TPM_SIZE
           
static int TPM_SUCCESS
           
static int TPM_TRANSPORT_EXCLUSIVE
           
static int TPM_WRITE_LOCKED
           
static int TPM_WRONG_ENTITYTYPE
           
static int TPM_WRONGPCRVAL
           
 
Constructor Summary
TPMException()
          Default constructor.
TPMException(java.lang.String message)
          Create a TPMException with an additional error message
TPMException(java.lang.String message, int returnCode, java.nio.ByteBuffer reply)
          Generate a new Exception from a TPM reply.
TPMException(java.lang.String message, java.lang.Throwable cause)
           
TPMException(java.lang.Throwable cause)
           
 
Method Summary
static java.lang.String ErrorString(int id)
          Convert a numeric error message to a human readable string.
 java.nio.ByteBuffer getReply()
           
 int getReturnCode()
           
 
Methods inherited from class java.lang.Throwable
fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

TPM_BASE

public static final int TPM_BASE
See Also:
Constant Field Values

TPM_SUCCESS

public static final int TPM_SUCCESS
See Also:
Constant Field Values

TPM_NON_FATAL

public static final int TPM_NON_FATAL
See Also:
Constant Field Values

TPM_AUTHFAIL

public static final int TPM_AUTHFAIL
See Also:
Constant Field Values

TPM_BADINDEX

public static final int TPM_BADINDEX
See Also:
Constant Field Values

TPM_BAD_PARAMETER

public static final int TPM_BAD_PARAMETER
See Also:
Constant Field Values

TPM_AUDITFAILURE

public static final int TPM_AUDITFAILURE
See Also:
Constant Field Values

TPM_CLEAR_DISABLED

public static final int TPM_CLEAR_DISABLED
See Also:
Constant Field Values

TPM_DEACTIVATED

public static final int TPM_DEACTIVATED
See Also:
Constant Field Values

TPM_DISABLED

public static final int TPM_DISABLED
See Also:
Constant Field Values

TPM_DISABLED_CMD

public static final int TPM_DISABLED_CMD
See Also:
Constant Field Values

TPM_FAIL

public static final int TPM_FAIL
See Also:
Constant Field Values

TPM_BAD_ORDINAL

public static final int TPM_BAD_ORDINAL
See Also:
Constant Field Values

TPM_INSTALL_DISABLED

public static final int TPM_INSTALL_DISABLED
See Also:
Constant Field Values

TPM_INVALID_KEYHANDLE

public static final int TPM_INVALID_KEYHANDLE
See Also:
Constant Field Values

TPM_KEYNOTFOUND

public static final int TPM_KEYNOTFOUND
See Also:
Constant Field Values

TPM_INAPPROPRIATE_ENC

public static final int TPM_INAPPROPRIATE_ENC
See Also:
Constant Field Values

TPM_MIGRATEFAIL

public static final int TPM_MIGRATEFAIL
See Also:
Constant Field Values

TPM_INVALID_PCR_INFO

public static final int TPM_INVALID_PCR_INFO
See Also:
Constant Field Values

TPM_NOSPACE

public static final int TPM_NOSPACE
See Also:
Constant Field Values

TPM_NOSRK

public static final int TPM_NOSRK
See Also:
Constant Field Values

TPM_NOTSEALED_BLOB

public static final int TPM_NOTSEALED_BLOB
See Also:
Constant Field Values

TPM_OWNER_SET

public static final int TPM_OWNER_SET
See Also:
Constant Field Values

TPM_RESOURCES

public static final int TPM_RESOURCES
See Also:
Constant Field Values

TPM_SHORTRANDOM

public static final int TPM_SHORTRANDOM
See Also:
Constant Field Values

TPM_SIZE

public static final int TPM_SIZE
See Also:
Constant Field Values

TPM_WRONGPCRVAL

public static final int TPM_WRONGPCRVAL
See Also:
Constant Field Values

TPM_BAD_PARAM_SIZE

public static final int TPM_BAD_PARAM_SIZE
See Also:
Constant Field Values

TPM_SHA_THREAD

public static final int TPM_SHA_THREAD
See Also:
Constant Field Values

TPM_SHA_ERROR

public static final int TPM_SHA_ERROR
See Also:
Constant Field Values

TPM_FAILEDSELFTEST

public static final int TPM_FAILEDSELFTEST
See Also:
Constant Field Values

TPM_AUTH2FAIL

public static final int TPM_AUTH2FAIL
See Also:
Constant Field Values

TPM_BADTAG

public static final int TPM_BADTAG
See Also:
Constant Field Values

TPM_IOERROR

public static final int TPM_IOERROR
See Also:
Constant Field Values

TPM_ENCRYPT_ERROR

public static final int TPM_ENCRYPT_ERROR
See Also:
Constant Field Values

TPM_DECRYPT_ERROR

public static final int TPM_DECRYPT_ERROR
See Also:
Constant Field Values

TPM_INVALID_AUTHHANDLE

public static final int TPM_INVALID_AUTHHANDLE
See Also:
Constant Field Values

TPM_NO_ENDORSEMENT

public static final int TPM_NO_ENDORSEMENT
See Also:
Constant Field Values

TPM_INVALID_KEYUSAGE

public static final int TPM_INVALID_KEYUSAGE
See Also:
Constant Field Values

TPM_WRONG_ENTITYTYPE

public static final int TPM_WRONG_ENTITYTYPE
See Also:
Constant Field Values

TPM_INVALID_POSTINIT

public static final int TPM_INVALID_POSTINIT
See Also:
Constant Field Values

TPM_INAPPROPRIATE_SIG

public static final int TPM_INAPPROPRIATE_SIG
See Also:
Constant Field Values

TPM_BAD_KEY_PROPERTY

public static final int TPM_BAD_KEY_PROPERTY
See Also:
Constant Field Values

TPM_BAD_MIGRATION

public static final int TPM_BAD_MIGRATION
See Also:
Constant Field Values

TPM_BAD_SCHEME

public static final int TPM_BAD_SCHEME
See Also:
Constant Field Values

TPM_BAD_DATASIZE

public static final int TPM_BAD_DATASIZE
See Also:
Constant Field Values

TPM_BAD_MODE

public static final int TPM_BAD_MODE
See Also:
Constant Field Values

TPM_BAD_PRESENCE

public static final int TPM_BAD_PRESENCE
See Also:
Constant Field Values

TPM_BAD_VERSION

public static final int TPM_BAD_VERSION
See Also:
Constant Field Values

TPM_NO_WRAP_TRANSPORT

public static final int TPM_NO_WRAP_TRANSPORT
See Also:
Constant Field Values

TPM_AUDITFAIL_UNSUCCESSFUL

public static final int TPM_AUDITFAIL_UNSUCCESSFUL
See Also:
Constant Field Values

TPM_AUDITFAIL_SUCCESSFUL

public static final int TPM_AUDITFAIL_SUCCESSFUL
See Also:
Constant Field Values

TPM_NOTRESETABLE

public static final int TPM_NOTRESETABLE
See Also:
Constant Field Values

TPM_NOTLOCAL

public static final int TPM_NOTLOCAL
See Also:
Constant Field Values

TPM_BAD_TYPE

public static final int TPM_BAD_TYPE
See Also:
Constant Field Values

TPM_INVALID_RESOURCE

public static final int TPM_INVALID_RESOURCE
See Also:
Constant Field Values

TPM_NOTFIPS

public static final int TPM_NOTFIPS
See Also:
Constant Field Values

TPM_INVALID_FAMILY

public static final int TPM_INVALID_FAMILY
See Also:
Constant Field Values

TPM_NO_NV_PERMISSION

public static final int TPM_NO_NV_PERMISSION
See Also:
Constant Field Values

TPM_REQUIRES_SIGN

public static final int TPM_REQUIRES_SIGN
See Also:
Constant Field Values

TPM_KEY_NOTSUPPORTED

public static final int TPM_KEY_NOTSUPPORTED
See Also:
Constant Field Values

TPM_AUTH_CONFLICT

public static final int TPM_AUTH_CONFLICT
See Also:
Constant Field Values

TPM_AREA_LOCKED

public static final int TPM_AREA_LOCKED
See Also:
Constant Field Values

TPM_BAD_LOCALITY

public static final int TPM_BAD_LOCALITY
See Also:
Constant Field Values

TPM_READ_ONLY

public static final int TPM_READ_ONLY
See Also:
Constant Field Values

TPM_PER_NOWRITE

public static final int TPM_PER_NOWRITE
See Also:
Constant Field Values

TPM_FAMILYCOUNT

public static final int TPM_FAMILYCOUNT
See Also:
Constant Field Values

TPM_WRITE_LOCKED

public static final int TPM_WRITE_LOCKED
See Also:
Constant Field Values

TPM_BAD_ATTRIBUTES

public static final int TPM_BAD_ATTRIBUTES
See Also:
Constant Field Values

TPM_INVALID_STRUCTURE

public static final int TPM_INVALID_STRUCTURE
See Also:
Constant Field Values

TPM_KEY_OWNER_CONTROL

public static final int TPM_KEY_OWNER_CONTROL
See Also:
Constant Field Values

TPM_BAD_COUNTER

public static final int TPM_BAD_COUNTER
See Also:
Constant Field Values

TPM_NOT_FULLWRITE

public static final int TPM_NOT_FULLWRITE
See Also:
Constant Field Values

TPM_CONTEXT_GAP

public static final int TPM_CONTEXT_GAP
See Also:
Constant Field Values

TPM_MAXNVWRITES

public static final int TPM_MAXNVWRITES
See Also:
Constant Field Values

TPM_NOOPERATOR

public static final int TPM_NOOPERATOR
See Also:
Constant Field Values

TPM_RESOURCEMISSING

public static final int TPM_RESOURCEMISSING
See Also:
Constant Field Values

TPM_DELEGATE_LOCK

public static final int TPM_DELEGATE_LOCK
See Also:
Constant Field Values

TPM_DELEGATE_FAMILY

public static final int TPM_DELEGATE_FAMILY
See Also:
Constant Field Values

TPM_DELEGATE_ADMIN

public static final int TPM_DELEGATE_ADMIN
See Also:
Constant Field Values

TPM_TRANSPORT_EXCLUSIVE

public static final int TPM_TRANSPORT_EXCLUSIVE
See Also:
Constant Field Values

TPM_OWNER_CONTROL

public static final int TPM_OWNER_CONTROL
See Also:
Constant Field Values

TPM_DAA_RESOURCES

public static final int TPM_DAA_RESOURCES
See Also:
Constant Field Values

TPM_RETRY

public static final int TPM_RETRY
See Also:
Constant Field Values
Constructor Detail

TPMException

public TPMException()
Default constructor.


TPMException

public TPMException(java.lang.String message)
Create a TPMException with an additional error message

Parameters:
message -

TPMException

public TPMException(java.lang.String message,
                    int returnCode,
                    java.nio.ByteBuffer reply)
Generate a new Exception from a TPM reply.

Parameters:
message - A user generated string describing the problem. The Error code will be appended.
returnCode - The return code from the tpm.
reply - response from the tpm.

TPMException

public TPMException(java.lang.String message,
                    java.lang.Throwable cause)
Parameters:
message -
cause -

TPMException

public TPMException(java.lang.Throwable cause)
Parameters:
cause -
Method Detail

ErrorString

public static java.lang.String ErrorString(int id)
Convert a numeric error message to a human readable string.

Parameters:
id - The number of the error code.
Returns:
The String.

getReturnCode

public int getReturnCode()
Returns:
The return code from the TPM for the failed command.

getReply

public java.nio.ByteBuffer getReply()
Returns:
The full response to the failed from the tpm.


http://tpm4java.datenzone.de/