Provided by: libtspi-dev_0.3.11.2-1ubuntu1_amd64 bug

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).