OSSL_CMP_HDR...TRANSACTIONID(3ossl)

πŸ’– OSSL_CMP_HDR...TRANSACTIONID πŸ’–

okay bestie, welcome to the OpenSSL manual page for three little functions that go poking around inside CMP message headers. no cap, these are the ones you want when you're like "girl, what's the transaction ID on this thing" πŸŽ€


✨ NAME ✨

OSSL_CMP_HDR_get0_transactionID, OSSL_CMP_HDR_get0_recipNonce, OSSL_CMP_HDR_get0_geninfo_ITAVs β€” functions manipulating 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);

✨ DESCRIPTION ✨

so here's the tea, three lil accessors, each one pulling a different gem out of the same OSSL_CMP_PKIHEADER πŸ’…

  • OSSL_CMP_HDR_get0_transactionID returns the transaction ID of the given PKIHeader. it's giving "receipt, but make it cryptographic" 🧾✨
  • OSSL_CMP_HDR_get0_recipNonce returns the recipient nonce of the given PKIHeader. the nonce is the vibe check that says "yes, I actually asked for this" 🌸
  • OSSL_CMP_HDR_get0_geninfo_ITAVs() returns the list of ITAVs in the generalInfo field of the given PKIHeader. ITAVs are those little info-type-and-value cuties hanging out in the general info zone πŸ‘‘

πŸ“Œ NOTES πŸ“Œ

CMP is defined in RFC 9810. periodt. iykyk πŸ“œ


🫢 RETURN VALUES 🫢

the functions return the intended pointer value as described above, or NULL if the respective entry does not exist and on error. so like, always check for NULL, bestie, don't just rawdog the dereference 😭


πŸ¦‹ HISTORY πŸ¦‹

  • the OpenSSL CMP support was added in OpenSSL 3.0.
  • OSSL_CMP_HDR_get0_geninfo_ITAVs() was added in OpenSSL 3.3. she's the baby of the group, and we love her πŸ’–

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, read the license. it's the law, and also it's the respectful thing to do 🫑

aaaand that's the whole page! this was version 3.5.9, dated 2026-09-2, brought to you by the OpenSSL girlies. go forth and read your headers, main character πŸ’…βœ¨πŸ¦‹

πŸ“¦ where this page comes from