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 requires 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 required by the Enhanced CA.
- pulTCPAIdentityReqLength
- Recieves the length (in bytes) of the prgbTCPAIdentityReq parameter
- prgbTCPAIdentyReq
- Pointer to the memory block containing the certicficate request structure.
RETURN CODES
Tspi_TPM_CollateIdentityRequest returns TSS_SUCCESS on success, otherwise 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