Tspi_DAA_IssueSetup(3)

πŸ“¦ version 11.0, in nixpkgs unstable

okay bestie, welcome to Tspi_DAA_IssueSetup(3) from the Library Functions Manual β€” and yes, it’s giving full TCG Software Stack Developer’s Reference energy. Let’s get into it πŸ’–

✨ 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 πŸ’…

So Tspi_DAA_IssueSetup is part of the DAA Issuer component. It defines the generation of a DAA Issuer public and secret key. It also defines the generation of a non-interactive proof β€” using the Fiat-Shamir heuristic β€” that the public keys were chosen correctly. That proof is the whole point, because it guarantees 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. Important lore, bestie.

This is an optional function and does not require a TPM or a TCS. Slay, honestly 🫢


🌸 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 the 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.

tiny heads-up: the synopsis literally says identity_proof, while the PARAMETERS section says publicKeyProof. We are not fixing or merging them β€” both are here, iykyk πŸ’€

⭐ RETURN CODES ⭐

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

  • TSS_E_INVALID_HANDLE β€” the page says: β€œEither the DAA is not valid.”
  • TSS_E_BAD_PARAMETER β€” listed with no extra description, so no invented lore from me ✨
  • 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 πŸ‘‘


and that’s the whole manual page, bestie 🫢 TSS 1.2, dated 2006-09-04 β€” iconic, honestly. bye πŸ’–

πŸ“¦ where this page comes from