Package tss.tpm

Class TPM2_Sign_REQUEST

  • All Implemented Interfaces:
    TpmMarshaller

    public class TPM2_Sign_REQUEST
    extends ReqStructure
    This command causes the TPM to sign an externally provided hash with the specified symmetric or asymmetric signing key.
    • Field Detail

      • keyHandle

        public TPM_HANDLE keyHandle
        Handle of key that will perform signing Auth Index: 1 Auth Role: USER
      • digest

        public byte[] digest
        Digest to be signed
      • inScheme

        public TPMU_SIG_SCHEME inScheme
        Signing scheme to use if the scheme for keyHandle is TPM_ALG_NULL One of: TPMS_SIG_SCHEME_RSASSA, TPMS_SIG_SCHEME_RSAPSS, TPMS_SIG_SCHEME_ECDSA, TPMS_SIG_SCHEME_ECDAA, TPMS_SIG_SCHEME_SM2, TPMS_SIG_SCHEME_ECSCHNORR, TPMS_SCHEME_HMAC, TPMS_SCHEME_HASH, TPMS_NULL_SIG_SCHEME.
      • validation

        public TPMT_TK_HASHCHECK validation
        Proof that digest was created by the TPM If keyHandle is not a restricted signing key, then this may be a NULL Ticket with tag = TPM_ST_CHECKHASH.
    • Constructor Detail

      • TPM2_Sign_REQUEST

        public TPM2_Sign_REQUEST()
      • TPM2_Sign_REQUEST

        public TPM2_Sign_REQUEST​(TPM_HANDLE _keyHandle,
                                 byte[] _digest,
                                 TPMU_SIG_SCHEME _inScheme,
                                 TPMT_TK_HASHCHECK _validation)
        Parameters:
        _keyHandle - Handle of key that will perform signing Auth Index: 1 Auth Role: USER
        _digest - Digest to be signed
        _inScheme - Signing scheme to use if the scheme for keyHandle is TPM_ALG_NULL One of: TPMS_SIG_SCHEME_RSASSA, TPMS_SIG_SCHEME_RSAPSS, TPMS_SIG_SCHEME_ECDSA, TPMS_SIG_SCHEME_ECDAA, TPMS_SIG_SCHEME_SM2, TPMS_SIG_SCHEME_ECSCHNORR, TPMS_SCHEME_HMAC, TPMS_SCHEME_HASH, TPMS_NULL_SIG_SCHEME.
        _validation - Proof that digest was created by the TPM If keyHandle is not a restricted signing key, then this may be a NULL Ticket with tag = TPM_ST_CHECKHASH.
    • Method Detail

      • inSchemeScheme

        public TPM_ALG_ID inSchemeScheme()
        Scheme selector
      • toTpm

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

        public static TPM2_Sign_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_Sign_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_Sign_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.