iaik.tc.tss.impl.java.tcs.pbg
Class TcTpmCmdAdminStartup
java.lang.Object
iaik.tc.tss.impl.java.tcs.pbg.TcTpmCmdCommon
iaik.tc.tss.impl.java.tcs.pbg.TcTpmCmdAdminStartup
public class TcTpmCmdAdminStartup
- extends TcTpmCmdCommon
Method Summary |
static java.lang.Object[] |
TpmSaveState(TcIStreamDest dest)
This command warns a TPM to save some state information. |
static java.lang.Object[] |
TpmStartup(TcIStreamDest dest,
int startupType)
TPM_Startup is always preceded by TPM_Init, which is the physical indication (a systemwide
reset) that TPM initialization is necessary. |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
TcTpmCmdAdminStartup
public TcTpmCmdAdminStartup()
TpmStartup
public static java.lang.Object[] TpmStartup(TcIStreamDest dest,
int startupType)
throws TcTddlException,
TcTpmException
- TPM_Startup is always preceded by TPM_Init, which is the physical indication (a systemwide
reset) that TPM initialization is necessary. There are many events on a platform that can cause
a reset and the response to these events can require different operations to occur on the TPM.
The mere reset indication does not contain sufficient information to inform the TPM as to what
type of reset is occurring. Additional information known by the platform initialization code
needs transmitting to the TPM. The TPM_Startup command provides the mechanism to transmit the
information.
The TPM can startup in three different modes: A "clear" start where all variables go back to
their default or non-volatile set state A "save" start where the TPM recovers appropriate
information and restores various values based on a prior TPM_SaveState. This recovery requires
an invocation of TPM_Init to be successful. A failing "save" start must shut down the TPM. The
CRTM cannot leave the TPM in a state where an untrusted upper software layer could issue a
"clear" and then extend PCR's and thus mimic the CRTM. A "deactivated" start where the TPM
turns itself off and requires another TPM_Init before the TPM will execute in a fully
operational state.
- Parameters:
dest
- The destination where the byte stream is written to.startupType
- This flag specifies the type of startup. Legal values are
TcTpmConstants.TPM_ST_CLEAR
, TcTpmConstants.TPM_ST_STATE
and
TcTpmConstants.TPM_ST_DEACTIVATED
.
- Throws:
TcTpmException
- This exception indicates that a TPM error has occurred. The specific
error code id held by the exception.
TcTddlException
- TPM 1.2 Spec, page number:
- 6
TpmSaveState
public static java.lang.Object[] TpmSaveState(TcIStreamDest dest)
throws TcTddlException,
TcTpmException
- This command warns a TPM to save some state information. If the relevant shielded storage is
non-volatile, this command need have no effect. If the relevant shielded storage is volatile
and the TPM alone is unable to detect the loss of external power in time to move data to
non-volatile memory, this command should be presented before the TPM enters a low or no power
state.
- Parameters:
dest
- The destination where the byte stream is written to.
- Throws:
TcTpmException
- This exception indicates that a TPM error has occurred. The specific
error code id held by the exception.
TcTddlException
- TPM 1.2 Spec, page number:
- 9