Package tss.tpm

Class TPM2_Create_REQUEST

  • All Implemented Interfaces:
    TpmMarshaller

    public class TPM2_Create_REQUEST
    extends ReqStructure
    This command is used to create an object that can be loaded into a TPM using TPM2_Load(). If the command completes successfully, the TPM will create the new object and return the objects creation data (creationData), its public area (outPublic), and its encrypted sensitive area (outPrivate). Preservation of the returned data is the responsibility of the caller. The object will need to be loaded (TPM2_Load()) before it may be used. The only difference between the inPublic TPMT_PUBLIC template and the outPublic TPMT_PUBLIC object is in the unique field.
    • Field Detail

      • parentHandle

        public TPM_HANDLE parentHandle
        Handle of parent for new object Auth Index: 1 Auth Role: USER
      • inPublic

        public TPMT_PUBLIC inPublic
        The public template
      • outsideInfo

        public byte[] outsideInfo
        Data that will be included in the creation data for this object to provide permanent, verifiable linkage between this object and some object owner data
      • creationPCR

        public TPMS_PCR_SELECTION[] creationPCR
        PCR that will be used in creation data
    • Constructor Detail

      • TPM2_Create_REQUEST

        public TPM2_Create_REQUEST()
      • TPM2_Create_REQUEST

        public TPM2_Create_REQUEST​(TPM_HANDLE _parentHandle,
                                   TPMS_SENSITIVE_CREATE _inSensitive,
                                   TPMT_PUBLIC _inPublic,
                                   byte[] _outsideInfo,
                                   TPMS_PCR_SELECTION[] _creationPCR)
        Parameters:
        _parentHandle - Handle of parent for new object Auth Index: 1 Auth Role: USER
        _inSensitive - The sensitive data
        _inPublic - The public template
        _outsideInfo - Data that will be included in the creation data for this object to provide permanent, verifiable linkage between this object and some object owner data
        _creationPCR - PCR that will be used in creation data
    • Method Detail

      • toTpm

        public byte[] toTpm()
        Deprecated.
        Returns:
        Wire (marshaled) representation of this object
      • fromBytes

        public static TPM2_Create_REQUEST fromBytes​(byte[] byteBuf)
        Static marshaling helper
        Parameters:
        byteBuf - Wire representation of the object
        Returns:
        New object constructed from its wire representation
      • fromTpm

        public static TPM2_Create_REQUEST fromTpm​(byte[] byteBuf)
        Deprecated.
        Use fromBytes(byte[]) instead
        Parameters:
        byteBuf - Wire representation of the object
        Returns:
        New object constructed from its wire representation
      • fromTpm

        public static TPM2_Create_REQUEST fromTpm​(TpmBuffer buf)
        Static marshaling helper
        Parameters:
        buf - Wire representation of the object
        Returns:
        New object constructed from its wire representation
      • toStringInternal

        public void toStringInternal​(TpmStructurePrinter _p,
                                     int d)
        Description copied from class: TpmStructure
        Serialize this object to the structure printer
        Overrides:
        toStringInternal in class TpmStructure
        Parameters:
        _p - The structure accumulator
        d - The data to serialize
      • numHandles

        public int numHandles()
        Overrides:
        numHandles in class CmdStructure
        Returns:
        Number of TPM handles contained (as fields) in this data structure
      • numAuthHandles

        public int numAuthHandles()
        Overrides:
        numAuthHandles in class ReqStructure
        Returns:
        Number of authorization TPM handles contained in this data structure
      • getHandles

        public TPM_HANDLE[] getHandles()
        Overrides:
        getHandles in class ReqStructure
        Returns:
        An array of TPM handles contained in this TPM request data structure
      • sessEncInfo

        public SessEncInfo sessEncInfo()
        Overrides:
        sessEncInfo in class CmdStructure
        Returns:
        Non-zero size info of the encryptable command/response parameter if session based encryption can be applied to this object (i.e. its first non-handle field is marshaled in size-prefixed form). Otherwise returns zero initialized struct.