---
name: "Tspi_DAA_IssueInit"
section: "3"
platform: "linux"
package: "libtspi-dev"
version: "0.3.9-3+wheezy1"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/Tspi_DAA_IssueInit"
---

# Tspi\_DAA\_IssueInit(3)

initialize the Issuer for a join operation

TCG Software Stack Developer's Reference

## NAME

Tspi\_DAA\_IssueInit - initialize the Issuer for a join operation

## SYNOPSIS

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

TSPICALL Tspi_DAA_IssueInit(
    TSS_HDAA                      hDAA,
    TSS_HKEY                      issuerAuthPK,
    TSS_HKEY                      issuerKeyPair,
    TSS_DAA_IDENTITY_PROOF        identityProof,
    UINT32                        capitalUprimeLength,
    BYTE*                         capitalUprime,
    UINT32                        daaCounter,
    UINT32*                       nonceIssuerLength,
    BYTE**                        nonceIssuer,
    UINT32*                       authenticationChallengeLength,
    BYTE**                        authenticationChallenge,
    TSS_DAA_JOIN_ISSUER_SESSION*  joinSession
);
```

## DESCRIPTION

Tspi\_DAA\_IssueInit is a function that is part of the DAA Issuer component. It's the first function out of 2 in order to issue a DAA Credential for a TCG Platform. It assumes that the endorsement key and its associated credentials are from a genuine and valid TPM. (Verification of the credentials is a process defined by the TCG Infrastructure WG.)

## PARAMETERS

### hDAA

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

### issuerAuthPK

The *issuerAuthPKh* parameter is the root authentication (public) key of DAA Issuer.

### issuerKeyPair

The *issuerKeyPair* parameter is the handle of the main DAA Issuer key pair (private and public portion).

### identityProof

The *identityProof* parameter is the structure containing endorsement, platform and conformance credential of the TPM requesting the DAA Credential.

### capitalUprimeLength

The *capitalUprimeLength* parameter is the length of capitalUprime which is .

### capitalUprime

The *capitalUprime* parameter is U'.

### daaCounter

The *daaCounter* parameter is the DAA counter.

### nonceIssuerLength

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

### nonceIssuer

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

### authenticationChallengeLength

The *authenticationChallengeLength* parameter is the 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 TPM.

### joinSession

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

## RETURN CODES

**Tspi\_DAA\_IssueInit** 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\_DAA\_IssueInit** conforms to the Trusted Computing Group Software Specification version 1.2

## SEE ALSO

[**Tspi\_DAA\_IssuerKeyVerification**(3)](/Tspi_DAA_IssuerKeyVerification/3.md)
