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
SEE ALSO
Tspi_Context_LoadKeyByUUID(3).