1
.\" Copyright (C) 2006 International Business Machines Corporation
2
.\" Written by Anthony Bussani based on the Trusted Computing Group Software Stack Specification Version 1.2
12
.de Sp \" Vertical space (when we can't use .PP)
18
.ie \\n(.$>=3 .ne \\$3
22
.TH "Tspi_TPM_DAA_JoinCreateDaaPubKey" 3 "2006-09-04" "TSS 1.2"
24
TCG Software Stack Developer's Reference
26
Tspi_TPM_DAA_JoinCreateDaaPubKey \- computes the credential request for the DAA Issuer
31
.B #include <tss/tss_typedef.h>
32
.B #include <tss/tss_structs.h>
33
.B #include <tss/tspi.h>
35
.BI "TSS_RESULT Tspi_TPM_DAA_JoinCreateDaaPubKey("
36
.BI " TSS_HDAA " hDAA ","
37
.BI " TSS_HTPM " hTPM ","
38
.BI " UINT32 " authenticationChallengeLength ","
39
.BI " BYTE* " authenticationChallenge ","
40
.BI " UINT32 " nonceIssuerLength ","
41
.BI " BYTE* " nonceIssuer ","
42
.BI " UINT32 " attributesPlatformLength ","
43
.BI " BYTE** " attributesPlatform ","
44
.BI " TSS_DAA_JOIN_SESSION* " joinSession ","
45
.BI " TSS_DAA_CREDENTIAL_REQUEST* " credentialRequest
54
\Tspi_TPM_DAA_JoinCreateDaaPubKey\fR
55
is the second (between \fBTspi_TPM_DAA_JoinInit()\fR and \fBTspi_TPM_DAA_JoinStoreCredential()\fR)
56
out of 3 functions to execute in order to receive a DAA Credential.
57
It computes the credential request for the DAA Issuer, which also includes the Platforms's
58
DAA public key and the attributes that were chosen by the Platform, and which are not visible
59
to the DAA Issuer. The Platform can commit to the attribute values it has chosen.
63
The \fIhDAA\fR parameter is used to specify the handle of the DAA object.
65
The \fIhTPM\fR parameter is the handle to the TPM object.
66
.SS authenticationChallengeLength
67
The \fIauthenticationChallengeLength\fR parameter is length of authenticationChallenge (256 bytes - DAA_SIZE_NE1).
68
.SS authenticationChallenge
69
The \fIauthenticationChallenge\fR parameter is the second nonce of the DAA Issuer that is encrypted by the endorsement public key.
70
It is used as a challenge to authenticate the underlying TPM.
72
The \fInonceIssuerLength\fR parameter is the length of nonceIssuer (20 bytes).
74
The \fInonceIssuer\fR parameter is the nonce of the DAA Issuer.
75
.SS attributesPlatformLength
76
The \fIattributesPlatformLength\fR parameter is length of attributesPlatform array, which is determined
77
by the DAA Issuer public key (). The length of a single attribute is ln/8. ln is defined as the size of
78
the RSA modulus (2048).
79
.SS attributesPlatform
80
The \fIattributesPlatform\fR parameter is an array of attributes to be encoded into the DAA Credential
81
not visible to the DAA Issuer.
83
The \fIjoinSession\fR parameter is a structure containing the DAA Join session information.
85
The \fIcredentialRequest\fR parameter is the credential request of the Platform, it contains the blinded
86
DAA public key of the platform on which the DAA Issuer will issue the credential the blinded attributes
87
chosen by the Platform.
91
\fBTspi_TPM_DAA_JoinCreateDaaPubKey\fR returns TSS_SUCCESS on success, otherwise one of the
92
following values is returned:
94
.SM TSS_E_INVALID_HANDLE
95
Either the DAA is not valid.
97
.SM TSS_E_BAD_PARAMETER
99
.SM TSS_E_INTERNAL_ERROR
100
An internal SW error has been detected.
104
\fBTspi_TPM_DAA_JoinCreateDaaPubKey\fR conforms to the Trusted Computing Group
105
Software Specification version 1.2
110
\fBTspi_TPM_DAA_JoinInit\fR(3)
111
\fBTspi_TPM_DAA_JoinStoreCredential\fR(3)