Provided by: libtspi-dev_0.3.7-2ubuntu1_amd64 bug

NAME

       Tspi_TPM_DAA_JoinCreateDaaPubKey - computes the credential request for the DAA Issuer

SYNOPSIS

       #include <tss/tss_typedef.h>
       #include <tss/tss_structs.h>
       #include <tss/tspi.h>

       TSS_RESULT Tspi_TPM_DAA_JoinCreateDaaPubKey(
           TSS_HDAA                    hDAA,
           TSS_HTPM                    hTPM,
           UINT32                      authenticationChallengeLength,
           BYTE*                       authenticationChallenge,
           UINT32                      nonceIssuerLength,
           BYTE*                       nonceIssuer,
           UINT32                      attributesPlatformLength,
           BYTE**                      attributesPlatform,
           TSS_DAA_JOIN_SESSION*       joinSession,
           TSS_DAA_CREDENTIAL_REQUEST* credentialRequest
       );

DESCRIPTION

       Tspi_TPM_DAA_JoinCreateDaaPubKey   is  the  second  (between  Tspi_TPM_DAA_JoinInit()  and
       Tspi_TPM_DAA_JoinStoreCredential())
        out of 3 functions to execute in order to receive a  DAA  Credential.   It  computes  the
       credential  request for the DAA Issuer, which also includes the Platforms's DAA public key
       and the attributes that were chosen by the Platform, and which are not visible to the  DAA
       Issuer. The Platform can commit to the attribute values it has chosen.

PARAMETERS

   hDAA
       The hDAA parameter is used to specify the handle of the DAA object.

   hTPM
       The hTPM parameter is the handle to the TPM object.

   authenticationChallengeLength
       The  authenticationChallengeLength  parameter  is  length  of authenticationChallenge (256
       bytes - DAA_SIZE_NE1).

   authenticationChallenge
       The authenticationChallenge parameter is the second  nonce  of  the  DAA  Issuer  that  is
       encrypted  by  the  endorsement public key.  It is used as a challenge to authenticate the
       underlying TPM.

   nonceIssuerLength
       The nonceIssuerLength parameter is the length of nonceIssuer (20 bytes).

   nonceIssuer
       The nonceIssuer parameter is the nonce of the DAA Issuer.

   attributesPlatformLength
       The attributesPlatformLength parameter is length of  attributesPlatform  array,  which  is
       determined  by  the DAA Issuer public key (). The length of a single attribute is ln/8. ln
       is defined as the size of the RSA modulus (2048).

   attributesPlatform
       The attributesPlatform parameter is an array of attributes to  be  encoded  into  the  DAA
       Credential not visible to the DAA Issuer.

   joinSession
       The joinSession parameter is a structure containing the DAA Join session information.

   credentialRequest
       The credentialRequest parameter is the credential request of the Platform, it contains the
       blinded DAA public key of the platform on which the DAA Issuer will issue  the  credential
       the blinded attributes chosen by the Platform.

RETURN CODES

       Tspi_TPM_DAA_JoinCreateDaaPubKey  returns  TSS_SUCCESS  on  success,  otherwise one of the
       following values is returned:

       TSS_E_INVALID_HANDLE
              Either the DAA is not valid.

       TSS_E_BAD_PARAMETER

       TSS_E_INTERNAL_ERROR
              An internal SW error has been detected.

CONFORMING TO

       Tspi_TPM_DAA_JoinCreateDaaPubKey  conforms  to  the  Trusted  Computing   Group   Software
       Specification version 1.2

SEE ALSO

       Tspi_TPM_DAA_JoinInit(3) Tspi_TPM_DAA_JoinStoreCredential(3)