TSPI_TPM_COLLATEIDENTITYREQUEST(3)
π Tspi_TPM_CollateIdentityRequest π
okay so bestie, this one's from the TCG Software Stack Developer's Reference, manual section 3, and it is lowkey iconic in a very "trusted computing" way. Pull up a chair, grab a boba, we're doing identity keys today. π
β¨ NAME β¨
Tspi_TPM_CollateIdentityRequest β gets all the informatin necessary to send to a trusted third party (TTP), repartory to asking the TTP to create a certificate for identity.
yes bestie that's the actual description, typos and all, we don't gatekeep π
πΈ SYNOPSIS πΈ
#include <tss/platform.h>
#include <tss/tcpa_defines.h>
#include <tss/tcpa_typedef.h>
#include <tss/tcpa_struct.h>
#include <tss/tss_typedef.h>
#include <tss/tss_structs.h>
#include <tss/tspi.h>
TSS_RESULT Tspi_TPM_CollateIdentityRequest(TSS_HTPM hTPM, TSS_HKEY hKeySRK,
TSS_HKEY hCAPPubKey,
UINT32 ulIdentityLabelData, BYTE* rgbIdentityLabelData,
TSS_HKEY hIdentityKey, TSS_ALGORITHM_ID algid,
UINT32* pulTCPAIdentityReqLength, BYTE** prgbTCPAIdentityReq);
like, that's a lot of parameters, I know. breathe. we'll go one by one. π«Ά
π¦ DESCRIPTION π¦
okay so TSS_TPM_CollateIdentityRequest creates an identity key, binds it to the label, and hands you back a certificate request package. that's the whole vibe. β¨
and why do we care? because the privacty CA requires this certificate request to attest the identity key. no request, no attestation, no certificate. periodt.
π₯ big one: only the Owner of the TPM has the privledge of creating a TPM identity key. if you're not the Owner, this is not your moment, bestie. main character energy is Owner-only.
the symmetric session key is required to provide confidentiality of the "TCPA_IDENTITY_REQ" data structure β which is the thing you should send to the Privacy CA chosen by the owner. keep it secret, keep it safe. π
π PARAMETERS π
hTPM
Handle of the TPM object.
hKeySRK
Handle to the key object representing the Storage Root Key.
hCAPubKey
Handle to the key object representing the public key of the CA which signs the certificate of the created identity key.
ulIdentityLabelLength
Supplies the length (in bytes) of the rgbIdentityLabelData parameter.
rgbLabelData
Pointer to a memory block containing the identity label, which should be a UNICODE string. π
hIdentityKey
Handle to the identity key object.
algid
The type of symmetric algorithm touse as requred by the Enhanced CA.
pulTCPAIdentityReqLength
Recieves the length (in bytes) of the prgbTCPAIdentityReq parameter.
prgbTCPAIdentyReq
Pointer to the memory block containing the certicficate request structure.
π RETURN CODES π
Tspi_TPM_CollateIdentityRequest returns TSS_SUCCESS on success, otherwise one of the following values are returned:
TSS_E_INVALID_HANDLEβ EitherhTPMorhKeySRKorhCAPubKeyis not a valid handle.TSS_E_BAD_PARAMETERβ (no extra deets given, it's just giving "bad parameter" π)TSS_E_INTERNAL_ERRORβ An error occurred internal to the TSS.
π CONFORMING TO π
Tspi_TPM_CollateIdentityRequest conforms to the Trusted Computing Group Software Specification version 1.1 Golden. β¨ slay.
π§ SEE ALSO π§
Tspi_Context_LoadKeyByUUID(3).
and that's the whole page, bestie!! π«Ά this one's from TSS 1.1, dated 2004-05-26, and honestly? it ate. go forth and collate those identity requests, but only if you're the Owner. iykyk. ππΈβ
π¦ where this page comes from
- epel 10: trousers-devel 0.3.15-11.el10_0 Β· BSD
- epel 9: trousers-devel 0.3.15-5.el9 Β· BSD
- fedora 43: trousers-devel 0.3.15-15.fc43 Β· LicenseRef-Callaway-BSD
- fedora 43: trousers-devel 0.3.15-15.fc43 Β· LicenseRef-Callaway-BSD
- fedora 43: trousers-devel 0.3.15-16.fc43 Β· LicenseRef-Callaway-BSD
- fedora 43: trousers-devel 0.3.15-16.fc43 Β· LicenseRef-Callaway-BSD
- fedora 44: trousers-devel 0.3.15-17.fc44 Β· LicenseRef-Callaway-BSD
- fedora 44: trousers-devel 0.3.15-17.fc44 Β· LicenseRef-Callaway-BSD
- nixos 26.05: trousers 0.3.15
- nixpkgs unstable: netbsd-source 11.0
- nixpkgs unstable: trousers 0.3.15
- opensuse-leap 16.0: trousers-devel 0.3.15-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: trousers-devel 0.3.15-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: trousers-devel 0.3.15-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: trousers-devel 0.3.15-160000.2.2 Β· BSD-3-Clause
- Copyright (C) 2004 International Business Machines Corporation
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms