OSSL_CRMF_MS...INFO_CERTREQ(3ossl)

πŸ“¦ version 3.5.0, in opensuse-leap 16.0

✨ NAME ✨

okay so this page is all about the OSSL_CRMF_MSG_get0_regInfo_utf8Pairs, OSSL_CRMF_MSG_set1_regInfo_utf8Pairs, OSSL_CRMF_MSG_get0_regInfo_certReq, and OSSL_CRMF_MSG_set1_regInfo_certReq girlies β€” they're the functions that get or set the CRMF Registration Info πŸ’… (and yes bestie, this is an OpenSSL 3ossl manual page, we're in the big leagues now πŸ‘‘)


🌸 SYNOPSIS 🌸

#include <openssl/crmf.h>

ASN1_UTF8STRING
    *OSSL_CRMF_MSG_get0_regInfo_utf8Pairs(const OSSL_CRMF_MSG *msg);
int OSSL_CRMF_MSG_set1_regInfo_utf8Pairs(OSSL_CRMF_MSG *msg,
                                         const ASN1_UTF8STRING *utf8pairs);
OSSL_CRMF_CERTREQUEST
    *OSSL_CRMF_MSG_get0_regInfo_certReq(const OSSL_CRMF_MSG *msg);
int OSSL_CRMF_MSG_set1_regInfo_certReq(OSSL_CRMF_MSG *msg,
                                       const OSSL_CRMF_CERTREQUEST *cr);

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so like, four functions, two vibes β€” getters and setters, and they're all about regInfo πŸŽ€

  • OSSL_CRMF_MSG_get0_regInfo_utf8Pairs() β€” hands you back the first utf8Pairs regInfo inside the given msg, if it's even there. no copy, no drama, just the pointer, iykyk 🫢
  • OSSL_CRMF_MSG_set1_regInfo_utf8Pairs() β€” takes a copy of the utf8pairs value you pass in and adds it as a utf8Pairs regInfo to msg. it's giving "duplicate and file it" energy ✨ see RFC 4211 section 7.1 for the receipts πŸ“œ
  • OSSL_CRMF_MSG_get0_regInfo_certReq() β€” returns the first certReq regInfo in the given msg, if present. same deal as above, just the certReq flavor πŸ’œ
  • OSSL_CRMF_MSG_set1_regInfo_certReq() β€” adds a copy of the given cr value as a certReq regInfo to msg. see RFC 4211 section 7.2 πŸ“œ

🌈 RETURN VALUES 🌈

  • all the get0_*() girlies return the respective pointer value β€” and NULL if it's not present πŸ™ˆ (no value, no problem, no pointer)
  • all the set1_*() functions return 1 on success and 0 on error. that's it, that's the vibe check πŸ’€

πŸ’€ NOTES πŸ’€

⚠️ okay listen up bestie, this part matters ⚠️

if you call the set1_*() functions multiple times, you get multiple instances of the respective control piled into the regInfo structure of the given msg. so like, it stacks. 🫠

and here's the tea β˜• β€” RFC 4211 expects multiple utf8Pairs in one regInfo structure (so stacking those is fine, iconic even πŸ’…), but it does not allow multiple certReq. so don't be out here adding certReq over and over, fr fr 😭


πŸ”₯ SEE ALSO πŸ”₯


⭐ HISTORY ⭐

the OpenSSL CRMF support showed up in OpenSSL 3.0 β€” a whole era, honestly πŸŽ€βœ¨


Copyright 2007-2021 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>.


okay that's the whole page, bestie, slay πŸ§šβ€β™€οΈ this was version 3.5.0, dated 2026-09-25, and brought to you by the OSSL_CRMF_MS...INFO_CERTREQ(3ossl) manual β€” go forth and register your info responsibly πŸ’œπŸŒΈ

πŸ“¦ where this page comes from