OSSL_CMP_HDR...TRANSACTIONID(3ossl)
π OSSL_CMP_HDR...TRANSACTIONID π
okay so bestie, this is a page from the OpenSSL manual β it's OSSL_CMP_HDR...TRANSACTIONID(3ossl), and it's all about the little getter functions that reach into a CMP message header and pull stuff out. no cap, it's short, it's sweet, and it's giving "small API, big purpose" energy. β¨
πΈ NAME πΈ
OSSL_CMP_HDR_get0_transactionID, OSSL_CMP_HDR_get0_recipNonce, OSSL_CMP_HDR_get0_geninfo_ITAVs β the girlies that manipulate (well, read from) CMP message headers. π
β¨ SYNOPSIS β¨
#include <openssl/cmp.h>
ASN1_OCTET_STRING *OSSL_CMP_HDR_get0_transactionID(const
OSSL_CMP_PKIHEADER *hdr);
ASN1_OCTET_STRING *OSSL_CMP_HDR_get0_recipNonce(const
OSSL_CMP_PKIHEADER *hdr);
STACK_OF(OSSL_CMP_ITAV)
*OSSL_CMP_HDR_get0_geninfo_ITAVs(const OSSL_CMP_PKIHEADER *hdr);
like, yes, the wrapping is a lil chaotic but it's literally exactly that, don't come for me π
π¦ DESCRIPTION π¦
So you've got a PKIHeader β the header of a CMP message β and you want the tea inside it. That's what these three do. π
OSSL_CMP_HDR_get0_transactionIDreturns the transaction ID of the givenPKIHeader. that's the "which convo is this" tag, periodt.OSSL_CMP_HDR_get0_recipNoncereturns the recipient nonce of the givenPKIHeader. the nonce that was meant for you, bestie. π―OSSL_CMP_HDR_get0_geninfo_ITAVs()returns the list of ITAVs in thegeneralInfofield of the givenPKIHeader. yes, the whole stack of them, iconic. π
π§ NOTES π§
CMP is defined in RFC 4210. that's the source of truth, iykyk. π
π RETURN VALUES π
The functions return the intended pointer value as described above β or NULL if the respective entry does not exist, and also on error. so like, NULL means "nope, not there" or "something went wrong", and you'll have to vibe-check which one it is. π
π HISTORY π
- The OpenSSL CMP support was added in OpenSSL 3.0. OG era.
OSSL_CMP_HDR_get0_geninfo_ITAVs()was added in OpenSSL 3.3. she's newer, she's fresh, we love her. π«Ά
π COPYRIGHT π
Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. π
Licensed under the Apache License 2.0 (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.
fr fr please actually read the license, it's not a suggestion, it's the whole rule π«‘
alright that's the page!! mwah π β this lil rewrite was served to you from version 3.5.0, dated 2026-09-2, so if that's stale, blame the timestamp not me πβ
π¦ where this page comes from
- opensuse-leap 16.0: openssl-3-doc 3.5.0-160000.11.1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms