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

NAME

       Tspi_TPM_DAA_JoinInit - start the DAA Join process

SYNOPSIS

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

       TSPICALL Tspi_TPM_DAA_JoinInit(
           TSS_HDAA                  hDAA,
           TSS_HTPM                  hTPM,
           TSS_HKEY                  issuer_pk,
           UINT32                    issuer_authentication_PKLength,
           TSS_HKEY*                 issuer_authentication_PK,
           UINT32                    issuer_authentication_PK_signaturesLength,
           BYTE**                    issuer_authentication_PK_signatures,
           UINT32*                   capital_UprimeLength,
           BYTE**                    capital_Uprime,
           TSS_DAA_IDENTITY_PROOF*   identity_proof,
           TSS_DAA_JOIN_SESSION*     join_session
       );

DESCRIPTION

       Tspi_TPM_DAA_JoinInit is the first out of 3 functions to execute in order to receive a DAA
       Credential. It verifies the keys of the DAA Issuer and computes the TPM DAA public key.

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.

   issuer_pk
       The issuer_pk parameter is the of the DAA Issuer public key.

   issuer_authentication_PKLength
       The issuer_authentication_PKLength parameter is the length of the array of issuerAuthPKs.

   issuer_authentication_PK
       The issuer_authentication_PK parameter is an array of RSA public keys (key chain) of
        the DAA Issuer used to authenticate the DAA Issuer public key. The size  of  the  modulus
       must
        be TPM_DAA_SIZE_issuerModulus (256).

   issuer_authentication_PK_signaturesLength
       The issuer_authentication_PK_signaturesLength parameter is the length of the array of
        issuerAuthPKSignatures.  It  is equal to issuerAuthPKsLength. The length of an element of
       the
        array is TPM_DAA_SIZE_issuerModulus (256).

   issuer_authentication_PK_signatures
       The issuer_authentication_PK_signatures parameter is the array of byte arrays representing
        signatures on the modulus of the above key chain (issuerAuthPKs)  in  more  details,  the
       array has
        the  following content (S(K[1],K[0]),S(K[2],N[1]),..S(K[ k ],K[n-1]), S(TPM_DAA_ISSUER,K[
       k ])),
        where S(msg,privateKey) denotes the signature function  with  msg  being  signed  by  the
       privateKey.

   capital_UprimeLength
       The  capital_UprimeLength  parameter  is  the length of capitalUprime which is ln/8. ln is
       defined as the size of the RSA modulus (2048).

   capital_Uprime
       The capital_Uprime parameter is U'.

   identityProof
       The identityProof parameter is  a  structure  containing  the  endorsement,  platform  and
       conformance
        credential.

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

RETURN CODES

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

       TSS_E_INVALID_HANDLE
              Either the DAA or the TPM handler is not valid.

       TSS_E_BAD_PARAMETER

       TSS_E_INTERNAL_ERROR
              An internal SW error has been detected.

       TSS_E_DAA_ISSUER_KEY_ERROR

CONFORMING TO

       Tspi_TPM_DAA_JoinInit conforms to  the  Trusted  Computing  Group  Software  Specification
       version 1.2

SEE ALSO

       Tspi_TPM_DAA_JoinCreateDaaPubKey(3) Tspi_TPM_DAA_JoinStoreCredential(3)