TSPI_DATA_UNSEAL(3)
π Tspi_Data_Unseal β the <tss/tspi.h> era, bestie π
okay so you've got sealed data and you want it back?? say less. this is a manual page from the TCG Software Stack Developer's Reference, section 3, and it's the one that pops the lid off your encrypted blob β but only if the vibes (and the platform, and the current config) are exactly right. no cap. π
β¨ NAME β¨
Tspi_Data_Unseal β dencrypt data encrypted by Tspi_Data_Seal() only if it was encrypted on the same platform and under the current configuration.
(yes, "dencrypt". the manpage said it, not me. we don't fix, we respect the icon's typos π )
πΈ 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_Data_Unseal(TSS_HENCDATA hEncData, TSS_HKEY hKey,
UINT32 pulUnsealedDataLength, BYTE** prgbUnsealedData);
like, look at those includes. that's seven headers just to say hi. iconic honestly. π¦
π DESCRIPTION π
Tspi_Data_Unseal reveals data encrypted by the Tspi_Data_Seal β only if it was encrypted on the same platform and the current configuration. this isn't a suggestion bestie, this is internally proofed and guaranteed by the TPM itself. the TPM is the bouncer and it does not care about your feelings. π«Ά
β PARAMETERS β
hEncData
Handle of the data object which contains the sealed data.
hKey
Handle to the key object addressing the nonmigratable key which is used to decrypt the data.
nonmigratable. meaning it does not move. it does not travel. it stays home and it stays loyal. π
pulUnsealedDataLength
The length (in bytes) of the prgbUnsealedData parameter.
prgbUnsealedData
On successful completion of the command, this parameter points to a buffer containing the plaintext data.
hPcrComposite
Handle of the PCR Composite object specifying the PCRs which are part of the sealed data blob. Set to NULL, if the encrypted data should only be bound to the system and PCRs are not of interest.
lowkey important: that's NULL, capital letters, for the "just bind it to the system, PCRs who" situation. π
π₯ RETURN CODES π₯
Tspi_Data_Unseal returns TSS_SUCCESS on success, otherwise one of the following values are returned:
TSS_E_INVALID_HANDLEβ EitherhEncDataorhKeyis not a valid handle.TSS_E_INTERNAL_ERRORβ An error occurred internal to the TSS.
like bestie if you're getting TSS_E_INVALID_HANDLE it's giving "you handed me a fake handle". vibe check your handles. π
π CONFORMING TO π
Tspi_Data_Unseal conforms to the Trusted Computing Group Software Specification version 1.1 Golden
π§ SEE ALSO π§
the way that sealing and unsealing are literally a matched set and you cannot have one without the otherβ¦ the romance of it. obsessed. π
and that's the whole page, bestie! this one's from TSS 1.1, dated 2004-05-26, and it lives in section 3 of the manual. mwah. π β¨π
π¦ 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