functions getting or setting CRMF Registration Info


 #include <openssl/crmf.h>

     *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_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);


OSSL_CRMF_MSG_get0_regInfo_utf8Pairs() returns the first utf8Pairs regInfo in the given msg, if present.

OSSL_CRMF_MSG_set1_regInfo_utf8Pairs() adds a copy of the given utf8pairs value as utf8Pairs regInfo to the given msg. See RFC 4211 section 7.1.

OSSL_CRMF_MSG_get0_regInfo_certReq() returns the first certReq regInfo in the given msg, if present.

OSSL_CRMF_MSG_set1_regInfo_certReq() adds a copy of the given cr value as certReq regInfo to the given msg. See RFC 4211 section 7.2.

Return Values

All get0_*() functions return the respective pointer value, NULL if not present.

All set1_*() functions return 1 on success, 0 on error.


Calling the set1_*() functions multiple times adds multiple instances of the respective control to the regInfo structure of the given msg. While RFC 4211 expects multiple utf8Pairs in one regInfo structure, it does not allow multiple certReq.

See Also

RFC 4211


The OpenSSL CRMF support was added in OpenSSL 3.0.

Referenced By

The man pages OSSL_CRMF_MSG_get0_regInfo_certReq.3ossl(3), OSSL_CRMF_MSG_get0_regInfo_utf8Pairs.3ossl(3) and OSSL_CRMF_MSG_set1_regInfo_utf8Pairs.3ossl(3) are aliases of OSSL_CRMF_MSG_set1_regInfo_certReq.3ossl(3).

2023-03-21 3.0.8 OpenSSL