---
name: "Tspi_DAA_IssueSetup"
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_IssueSetup"
---

# Tspi\_DAA\_IssueSetup(3)

generate a DAA Issuer public and private key

TCG Software Stack Developer's Reference

## NAME

Tspi\_DAA\_IssueSetup - generate a DAA Issuer public and private key

## SYNOPSIS

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

TSPICALL Tspi_DAA_IssueSetup(
    TSS_HDAA                  hDAA,
    UINT32                    issuerBaseNameLength,
    BYTE*                     issuerBaseName,
    UINT32                    numberPlatformAttributes,
    UINT32                    numberIssuerAttributes,
    TSS_HKEY*                 keyPair,
    TSS_DAA_PK_PROOF**        identity_proof
);
```

## DESCRIPTION

Tspi\_DAA\_IssueSetup is part of the DAA Issuer component. It defines the generation of a DAA Issuer public and secret key. Further it defines the generation of a non-interactive proof (using the Fiat-Shamir heuristic) that the public keys were chosen correctly. The latter will guarantee the security requirements of the platform (respectively, its user), i.e., that the privacy and anonymity of signatures will hold. The generation of the authentication keys of the DAA Issuer, which are used to authenticate (main) DAA Issuer keys, is not defined by this function. This is an optional function and does not require a TPM or a TCS.

## PARAMETERS

### hDAA

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

### issuerBaseNameLength

The *issuerBaseNameLength* parameter is the length of the issuerBaseName.

### issuerBaseName

The *issuerBaseName* parameter is the unique name of the DAA Issuer.

### numberPlatformAttributes

The *numberPlatformAttributes* parameter is the number of attributes that the Platform can choose and which will not be visible to the Issuer.

### numberIssuerAttributes

The *numberIssuerAttributes* parameter is number of attributes that the Issuer can choose and which will be visible to both the Platform and the Issuer.

### keyPair

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

### publicKeyProof

The *publicKeyProof* parameter is the Handle of the proof of the main DAA Issuer public key.

## RETURN CODES

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

## SEE ALSO

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