TSPI_DAA_ISSUECREDENTIAL(3)

πŸ“¦ version 11.0, in nixpkgs unstable

πŸ’– NAME πŸ’–

okay so bestie, welcome to Tspi_DAA_IssueCredential(3) β€” straight out of the Library Functions Manual and the TCG Software Stack Developer's Reference. This function is the one that issues a DAA credential for a TCG platform, and it's giving DAA Issuer component main character energy ✨


🌸 SYNOPSIS 🌸

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

TSPICALL Tspi_DAA_IssueCredential(
    TSS_HDAA                    hDAA,
    UINT32                      attributesIssuerLength,
    BYTE**                      attributesIssuer,
    TSS_DAA_CREDENTIAL_REQUEST  credentialRequest,
    TSS_DAA_JOIN_ISSUER_SESSION joinSession,
    TSS_DAA_CRED_ISSUER*        credIssuer
);

πŸ¦‹ DESCRIPTION πŸ¦‹

So Tspi_DAA_IssueCredential is part of the DAA Issuer component, and it's literally the last function out of 2 in order to issue a DAA Credential for a TCG Platform πŸ‘‘ It detects a rogue TPM according to published rogue TPM DAA keys β€” yes, it's doing a little vibe check on the TPM πŸ”

This is an optional function and does not require a TPM or a TCS. no cap, that's what the page says 🫢


πŸ’… PARAMETERS πŸ’…

  • hDAA β€” used to specify the handle of the DAA object. iconic little handle behavior.
  • attributesIssuerLength β€” the length of the attributesIssuer array, which is determined by the DAA Issuer public key (li). The length of a single attribute is if/8 β€” literally if/8, bestie πŸ’€
  • attributesIssuer β€” the array of attributes to be encoded into the DAA Credential visible to the DAA Issuer.
  • credentialRequest β€” 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, and the blinded attributes chosen by the Platform.
  • joinSession β€” the structure containing the DAA Join session information.
  • credIssuer β€” the structure containing the DAA Credential issued by the DAA Issuer, the proof of correctness of the credential, and the attributes chosen by the DAA Issuer.

πŸ”₯ RETURN CODES πŸ”₯

Tspi_DAA_IssueCredential returns TSS_SUCCESS on success. Otherwise, one of these values is returned:

  • TSS_E_BAD_PARAMETER β€” it's on the list, but this page doesn't give it its own extra description, so no invented lore πŸ™ˆ
  • TSS_E_INTERNAL_ERROR β€” an internal SW error has been detected.
  • TSS_E_DAA_AUTHENTICATION_ERROR β€” the authentication proof of the TPM is incorrect.
  • TSS_E_DAA_PSEUDONYM_ERROR β€” the TPM is rogue. 😭
  • TSS_E_DAA_CREDENTIAL_REQUEST_PROOF_ERROR β€” the proof of the credential request is incorrect.

πŸ‘‘ CONFORMING TO πŸ‘‘

Tspi_DAA_IssueCredential conforms to the Trusted Computing Group Software Specification version 1.2 ✨ periodt.


🫢 SEE ALSO 🫢


that's the whole vibe check, bestie β€” this page is from TSS 1.2, dated 2006-09-04. stay slay πŸ’œπŸŽ€

πŸ“¦ where this page comes from