TSPI_TPM_CREATEMAINTENANCEARCHIVE(3)
π Tspi_TPM_CreateMaintenanceArchive π
okay bestie, welcome to the TCG Software Stack Developer's Reference β yes it's a Library Functions Manual page, yes it's from the TSS era, and yes we're gonna get through it together. no cap. π«Ά
β¨ NAME β¨
Tspi_TPM_CreateMaintenanceArchive β create the TPM manufacturer specific maintenance archive data. that's the whole vibe. π
πΈ SYNOPSIS πΈ
first you gotta invite the whole friend group in, so here's your include stack:
#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>
and here's the function itself, looking exactly like this, do not touch a single character:
TSS_RESULT Tspi_TPM_CreateMaintenanceArchive(TSS_HTPM hTPM, TSS_BOOL fGenerateRndNumber,
UINT32* pulRndNumberLength, BYTE** prgbRndNumber,
UINT32* pulArchiveDataLength, BYTE** prgbArchiveData);
π¦ DESCRIPTION π¦
so Tspi_TPM_CreateMaintenanceArchive creates the TPM Manufacturer specific maintenance archive data. that's its whole job. main character energy fr fr. π
but here's the tea, and it's a big one: this command is not currently implemented by any manufacturer. not one. zero. it's giving ghost town. π
so like. read it, love it, but don't expect it to actually do the thing. π
π PARAMETERS π
hTPM
this one is how you specify the handle of the TPM object. your little entry pass. β¨
fGenerateRndNumber
okay so this decides how the random number gets generated. if it's TRUE, the TPM itself generates a random number and hands it back to you. if it's FALSE, the random number is calculated based on the owner secret instead. two paths, one outcome. π
pulRndNumberLength
this receives the length in bytes of the prgbRndNumber parameter. and listen β this is 0 if fGenerateRndNumber is FALSE. noted. π
prgbRndNumber
this receives a pointer to the random number data attributes. and this one is NULL if fGenerateRndNumber is FALSE. bestie the empty case is real. π«₯
pulArchiveDataLength
receives the length in bytes of the prgbArchiveData parameter. π«
prgbArchiveData
receives a pointer to the archive data. that's the actual goods. π¦
π₯ RETURN CODES π₯
Tspi_TPM_CreateMaintenanceArchive returns TSS_SUCCESS on success β slay β otherwise one of these lil gremlins shows up instead:
TSS_E_INVALID_HANDLEβhTPMis not a valid handle. wrong pass, no entry. πTSS_E_INTERNAL_ERRORβ an internal SW error has been detected. software said "not today". πTSS_E_BAD_PARAMETERβ one or more parameters is bad. somebody misbehaved. π€TSS_E_NOTIMPLβ the function is not implemented. yeah. remember the tea from earlier? this is that tea. π
π CONFORMING TO π
Tspi_TPM_CreateMaintenanceArchive conforms to the Trusted Computing Group Software Specification version 1.1 Golden. iconic behavior, honestly. β¨
π SEE ALSO π
go read these next, they're the friend group:
Tspi_TPM_KillMaintenanceFeature(3)Tspi_TPM_LoadMaintenancePubKey(3)Tspi_TPM_CheckMaintenancePubKey(3)
and that's the page!! mwah. π
this was TSS 1.1, dated 2004-05-25, from the page we lovingly call Tspi_TPM_C...anceArchive(3) β the truncated little nameplate that never got finished. relatable honestly. π stay hydrated, read your manpages, and remember: not implemented β not iconic. π¦β¨
π¦ where this page comes from
- debian bookworm: libtspi-dev 0.3.15-0.3 Β· BSD-3-Clause
- debian trixie: libtspi-dev 0.3.15-0.4 Β· BSD-3-Clause
- 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
- ubuntu jammy: libtspi-dev 0.3.15-0.2 Β· BSD-3-Clause
- ubuntu noble: libtspi-dev 0.3.15-0.3build2 Β· BSD-3-Clause
- ubuntu questing: libtspi-dev 0.3.15-0.4
- ubuntu resolute: libtspi-dev 0.3.15-1 Β· BSD-3-Clause
- ubuntu stonking: libtspi-dev 0.3.15-1ubuntu2 Β· 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