OSSL_CMP_MSG_get0_header.3ossl - Man Page

function(s) manipulating CMP messages


  #include <openssl/cmp.h>

  OSSL_CMP_PKIHEADER *OSSL_CMP_MSG_get0_header(const OSSL_CMP_MSG *msg);
  int OSSL_CMP_MSG_get_bodytype(const OSSL_CMP_MSG *msg);
  int OSSL_CMP_MSG_update_transactionID(OSSL_CMP_CTX *ctx, OSSL_CMP_MSG *msg);
  OSSL_CRMF_MSG *OSSL_CMP_CTX_setup_CRM(OSSL_CMP_CTX *ctx, int for_KUR, int rid);
  OSSL_CMP_MSG *OSSL_CMP_MSG_read(const char *file);
  int OSSL_CMP_MSG_write(const char *file, const OSSL_CMP_MSG *msg);
  OSSL_CMP_MSG *d2i_OSSL_CMP_MSG_bio(BIO *bio, OSSL_CMP_MSG **msg);
  int i2d_OSSL_CMP_MSG_bio(BIO *bio, const OSSL_CMP_MSG *msg);


OSSL_CMP_MSG_get0_header() returns the header of the given CMP message.

OSSL_CMP_MSG_get_bodytype() returns the body type of the given CMP message.

OSSL_CMP_MSG_update_transactionID() updates the transactionID field in the header of the given message according to the CMP_CTX. This requires re-protecting the message (if it was protected).

OSSL_CMP_CTX_setup_CRM() creates a CRMF certificate request message for inclusion in a CMP request message based on details contained in ctx. If the CMP context does not include a subject name set via OSSL_CMP_CTX_set1_subjectName(3) but includes a reference certificate then it copies the subject DN from there if for_KUR is set or the ctx does not include a subjectAltName. The rid defines the request identifier to use, which typically is 0.

OSSL_CMP_MSG_read() loads a DER-encoded OSSL_CMP_MSG from file.

OSSL_CMP_MSG_write() stores the given OSSL_CMP_MSG to file in DER encoding.

d2i_OSSL_CMP_MSG_bio() parses an ASN.1-encoded OSSL_CMP_MSG from the BIO bio. It assigns a pointer to the new structure to *msg if msg is not NULL.

i2d_OSSL_CMP_MSG_bio() writes the OSSL_CMP_MSG msg in ASN.1 encoding to BIO bio.


CMP is defined in RFC 4210.

Return Values

OSSL_CMP_MSG_get0_header() returns the intended pointer value as described above or NULL if the respective entry does not exist and on error.

OSSL_CMP_MSG_get_bodytype() returns the body type or -1 on error.

OSSL_CMP_CTX_setup_CRM() returns a pointer to a OSSL_CRMF_MSG on success, NULL on error.

d2i_OSSL_CMP_MSG_bio() returns the parsed message or NULL on error.

OSSL_CMP_MSG_read() and d2i_OSSL_CMP_MSG_bio() return the parsed CMP message or NULL on error.

OSSL_CMP_MSG_write() and i2d_OSSL_CMP_MSG_bio() return the number of bytes successfully encoded or a negative value if an error occurs.

OSSL_CMP_MSG_update_transactionID() returns 1 on success, 0 on error.


The OpenSSL CMP support was added in OpenSSL 3.0.

Referenced By

The man pages d2i_OSSL_CMP_MSG_bio.3ossl(3), i2d_OSSL_CMP_MSG_bio.3ossl(3), OSSL_CMP_CTX_setup_CRM.3ossl(3), OSSL_CMP_MSG_get_bodytype.3ossl(3), OSSL_CMP_MSG_read.3ossl(3), OSSL_CMP_MSG_update_transactionID.3ossl(3) and OSSL_CMP_MSG_write.3ossl(3) are aliases of OSSL_CMP_MSG_get0_header.3ossl(3).

2021-09-09 3.0.0 OpenSSL