Introduction to Library Functions
Tspi_TPM_DAA_JoinCreateDaaPubKey(3)
TCG Software Stack Developer's ReferenceNAME
Tspi_TPM_DAA_JoinCreateDaaPubKey - computes the credential
request for the DAA IssuerSYNOPSIS
#include
#include
#include
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. authenticationChallengeLengthThe authenticationChallengeLength parameter is length of au-
thenticationChallenge (256 bytes - DAA_SIZE_NE1).
authenticationChallenge The authenticationChallenge parameter is the second nonce ofTSS 1.2 Last change: 2006-09-04 1
Introduction to Library FunctionsTspi_TPM_DAA_JoinCreateDaaPubKey(3)
the DAA Issuer that is encrypted by the endorsement publickey. It is used as a challenge to authenticate the underly-
ing TPM. nonceIssuerLength The nonceIssuerLength parameter is the length of nonceIssuer (20 bytes). nonceIssuer The nonceIssuer parameter is the nonce of the DAA Issuer. attributesPlatformLengthThe attributesPlatformLength parameter is length of attribu-
tesPlatform 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 CODESTspi_TPM_DAA_JoinCreateDaaPubKey returns TSS_SUCCESS on suc-
cess, 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 TOTspi_TPM_DAA_JoinCreateDaaPubKey conforms to the Trusted
Computing Group Software Specification version 1.2TSS 1.2 Last change: 2006-09-04 2
Introduction to Library FunctionsTspi_TPM_DAA_JoinCreateDaaPubKey(3)
SEE ALSO
Tspi_TPM_DAA_JoinInit(3) Tspi_TPM_DAA_JoinStoreCredential(3)
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:__________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|____________________|_____________________________|_
| Availability | library/security/trousers ||____________________|_____________________________|_
| Interface Stability| Uncommitted ||____________________|____________________________|
NOTES Source for trousers is available at http://opensolaris.organd at http://sourceforge.net/projects/trousers. Documenta-
tion is available at file:///usr/share/man, and http://sourceforge.net/projects/trousers.TSS 1.2 Last change: 2006-09-04 3
Introduction to Library FunctionsTspi_TPM_DAA_JoinCreateDaaPubKey(3)
TSS 1.2 Last change: 2006-09-04 4