Tspi_TPM_CollateIdentityRequest - Gets all the informatin necessary to send to a trusted third party (TTP), repartory to asking the TTP to create a certificate for identity.
#include <tss/platform.h> #include <tss/tcpa_defines.h> #include <tss/tcpa_typedef.h> #include <tss/tcpa_struct.h> #include <tss/tss_typedef.h> #include <tss/tss_structs.h> #include <tss/tspi.h> TSS_RESULT Tspi_TPM_CollateIdentityRequest(TSS_HTPM hTPM, TSS_HKEY hKeySRK, TSS_HKEY hCAPPubKey, UINT32 ulIdentityLabelData, BYTE* rgbIdentityLabelData, TSS_HKEY hIdentityKey, TSS_ALGORITHM_ID algid, UINT32* pulTCPAIdentityReqLength, BYTE** prgbTCPAIdentityReq);
TCG Software Stack Developer's Reference Tspi_TPM_CollateIdentityRequest(3) NAME Tspi_TPM_CollateIdentityRequest - Gets all the informatin necessary to send to a trusted third party (TTP), repartory to asking the TTP to create a certificate for identity. SYNOPSIS #include <tss/platform.h> #include <tss/tcpa_defines.h> #include <tss/tcpa_typedef.h> #include <tss/tcpa_struct.h> #include <tss/tss_typedef.h> #include <tss/tss_structs.h> #include <tss/tspi.h> TSS_RESULT Tspi_TPM_CollateIdentityRequest(TSS_HTPM hTPM, TSS_HKEY hKeySRK, TSS_HKEY hCAPPubKey, UINT32 ulIdentityLabelData, BYTE* rgbIdentityLabelData, TSS_HKEY hIdentityKey, TSS_ALGORITHM_ID algid, UINT32* pulTCPAIdentityReqLength, BYTE** prgbTCPAIdentityReq); DESCRIPTION TSS_TPM_CollateIdentityRequest creates an identity key, binds it to the label and returns a certificate request package. The privacty CA re- quires this certificate request to attest the identity key. Only the Owner of the TPM has the privledge of creating a TPM identity key. The symmetric session key is required to provide confidentiality of the "TCPA_IDENTITY_REQ" data structure, which should be sent to the Privacy CA chosen by the owner. PARAMETERS hTPM Handle of the TPM object. hKeySRK Handle to the key object representing the Storage Root Key hCAPubKey Handle to the key object representing the public key of the CA which signs the certificate of the created identity key. ulIdentityLabelLength Supplies the length (in bytes) of the rgbIdentityLabelData parameter rgbLabelData Pointer to a memory block containing the identity label, which should be a UNICODE string hIdentityKey Handle to the identity key object algid The type of symmetric algorithm touse as requred by the Enhanced CA. pulTCPAIdentityReqLength Recieves the length (in bytes) of the prgbTCPAIdentityReq parameter prgbTCPAIdentyReq Pointer to the memory block containing the certicficate request struc- ture. RETURN CODES Tspi_TPM_CollateIdentityRequest returns TSS_SUCCESS on success, other- wise one of the following values are returned: TSS_E_INVALID_HANDLE Either hTPM or hKeySRK or hCAPubKey is not a valid handle. TSS_E_BAD_PARAMETER TSS_E_INTERNAL_ERROR An error occurred internal to the TSS. CONFORMING TO Tspi_TPM_CollateIdentityRequest conforms to the Trusted Computing Group Software Specification version 1.1 Golden ATTRIBUTES See attributes(7) for descriptions of the following attributes: +---------------+---------------------------+ |ATTRIBUTE TYPE | ATTRIBUTE VALUE | +---------------+---------------------------+ |Availability | library/security/trousers | +---------------+---------------------------+ |Stability | Uncommitted | +---------------+---------------------------+ SEE ALSO Tspi_Context_LoadKeyByUUID(3). NOTES Source code for open source software components in Oracle Solaris can be found at https://www.oracle.com/downloads/opensource/solaris-source- code-downloads.html. This software was built from source available at https://github.com/or- acle/solaris-userland. The original community source was downloaded from https://source- forge.net/projects/trousers/files/trousers/0.3.15/trousers-0.3.15.tar.gz. Further information about this software can be found on the open source community website at http://trousers.sourceforge.net/. TSS 1.1 2004-05-26 Tspi_TPM_CollateIdentityRequest(3)