TSPI_DAA_VERIFYSIGNATURE(3)

πŸ“¦ version 11.0, in nixpkgs unstable

NAME 🌸

okay so bestie, welcome to Tspi_DAA_VerifySignature(3) β€” this is the Library Functions Manual entry from the TCG Software Stack Developer's Reference πŸ’–. The NAME line literally says Tspi_DAA_VerifySignature β€” creates a challenge for the TCG platform. Yes, that's the actual wording, keep it in your notes πŸ“βœ¨.

SYNOPSIS ✨

Here's the exact include-and-signature sitch, no cap:

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

       TSPICALL Tspi_DAA_VerifySignature(
           TSS_HDAA                    hDAA,
           TSS_DAA_SIGNATURE           daaSignature,
           TSS_HKEY                    hPubKeyIssuer,
           TSS_DAA_SIGN_DATA           signData,
           UINT32                      attributesLength,
           BYTE**                      attributes,
           UINT32                      nonceVerifierLength,
           BYTE*                       nonceVerifier,
           UINT32                      baseNameLength,
           BYTE*                       baseName,
           TSS_BOOL*                   isCorrect
       );

DESCRIPTION πŸ’–

Tspi_DAA_VerifySignature is part of the DAA Verifier component. It's the last function out of 2 in order to verify a DAA Credential of a TCG platform. It verifies the DAA Credential and detects public rogue TPMs. This is an optional function and does not require a TPM or a TCS. So it's the finisher, the closing act, the last out of 2 β€” and it's out here doing credential verification and rogue-TPM detection like the main character it is πŸ”₯πŸ‘‘

PARAMETERS πŸ’…

Let's run the parameter vibe check one by one, bestie 🫢:

  • hDAA β€” specifies the handle of the DAA object.
  • daaSignature β€” the DAA signature. It contains proof of ownership of the DAA Credential, as well as a signature on either an AIK or a message.
  • hPubKeyIssuer β€” the handle of the DAA public key of the DAA Issuer of the credential.
  • signData β€” defines what data is signed (AIK or message).
  • attributesLength β€” the Length of attributes array that is determined by the DAA Issuer public key (lh+li). The length of a single attribute is lf/8.
  • attributes β€” the array of attributes which the DAA Credential owner reveals.
  • nonceVerifierLength β€” the length of nonceVerifier (20 bytes).
  • nonceVerifier β€” the nonce that was computed in the previous function (Tspi_VerifyInit).
  • baseNameLength β€” the length of the baseName.
  • baseName β€” the base name that was chosen for the DAA Signature.
  • isCorrect β€” denotes if the verification of the DAA Signature was successful.

RETURN CODES 🚨

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

  • TSS_E_BAD_PARAMETER
  • TSS_E_INTERNAL_ERROR β€” An internal SW error has been detected.

CONFORMING TO 🌈

Tspi_DAA_VerifySignature conforms to the Trusted Computing Group Software Specification version 1.2. Periodt πŸ’…βœ¨

SEE ALSO πŸ’œ


That's the whole page, bestie. This one is TSS 1.2, dated 2006-09-04, and the manual entry is Tspi_DAA_VerifySignature(3). Mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from