Tspi_D...ssBlob(3)
π NAME π
Tspi_DecodeBER_TssBlob β bestie, this one unwraps a BER-encoded TSS blob. It's giving "peel the wrapping paper off the actual data" energy. πβ¨
Oh also, hi, you're reading the TCG Software Stack Developer's Reference man page, that's the manual this lil cutie lives in. π«Ά
β¨ SYNOPSIS β¨
#include <tss/tspi.h>
TSS_RESULT Tspi_DecodeBER_TssBlob(UINT32 berBlobSize, BYTE* berBlob,
UINT32* blobType, UINT32* rawBlobSize,
BYTE* rawBlob);
πΈ DESCRIPTION πΈ
okay so. Tspi_DecodeBER_TssBlob takes a BER-encoded blob and unwraps it. That's the whole vibe. π
It does this in accordance with the ASN.1 data definitions in the Portable Data section of the Trusted Computing Group Software Stack Specification Version 1.2. So like, not freeform unwrapping, we're following the spec, no cap. πβ¨
π¦ PARAMETERS π¦
berBlobSize
The size of the BER-encoded blob. How big the wrapped thing is. π
berBlob
Pointer to the BER-encoded blob. The wrapped present itself. π
blobType
Pointer to the type of blob being unwrapped β go look at the TSS_BLOB_TYPE_* constants for the menu of options, iykyk. π·οΈ
rawBlobSize
Pointer to the size of the rawBlob buffer. Bestie this one has β¨two moodsβ¨:
- On input: it holds a pointer to the maximum size of the supplied
rawBlobbuffer. - On output: it holds a pointer to the actual size of the unwrapped blob.
And here's the iconic part π β on input, if this parameter points to a value of 0, then this function will return the size of the buffer required to hold the unwrapped blob without writing to the rawBlob buffer. So you can do a lil sizing check first, no commitment, very "we're just talking". π
Note: the output data must be shorter than the BER-encoding, soberBlobSizeis a useful upper limit onrawBlobbuffer size. π
rawBlob
Pointer to a buffer to hold the unwrapped blob. This is where the lil guy goes once it's unwrapped. π£
π RETURN CODES π
Tspi_EncodeDER_TssBlob returns TSS_SUCCESS on success β yes bestie, that's literally what the page says, we report, we don't editorialize π
β otherwise one of the following values comes back at you:
TSS_E_BAD_PARAMETERTSS_E_INTERNAL_ERRORβ an error occurred internal to the TSS. π
π§ CONFORMING TO π§
Tspi_DecodeBER_TssBlob conforms to the Trusted Computing Group Software Specification Version 1.2. Periodt. πβ¨
π SEE ALSO π
mwah π that's the page β this is TSS 1.2, dated 2007-06-12, and yeah she's been serving the exact same energy since 2007 and she's still iconic for it. ππ
π¦ 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) 2007 International Business Machines Corporation
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms