OSSL_CMP_STATUSINFO_new.3ossl - Man Page

function(s) for managing the CMP PKIStatus


 #include <openssl/cmp.h>

 OSSL_CMP_PKISI *OSSL_CMP_STATUSINFO_new(int status, int fail_info,
                                         const char *text);
 char *OSSL_CMP_snprint_PKIStatusInfo(const OSSL_CMP_PKISI *statusInfo,
                                      char *buf, size_t bufsize);
 char *OSSL_CMP_CTX_snprint_PKIStatus(const OSSL_CMP_CTX *ctx, char *buf,
                                      size_t bufsize);


This is the PKIStatus API for using CMP (Certificate Management Protocol) with OpenSSL.

OSSL_CMP_STATUSINFO_new() creates a new PKIStatusInfo structure and fills in the given values. It sets the status field to status, copies text (unless it is NULL) to statusString, and interprets fail_info as bit pattern for the failInfo field.

OSSL_CMP_snprint_PKIStatusInfo() places a human-readable string representing the given statusInfo in the given buffer, with the given maximal length.

OSSL_CMP_CTX_snprint_PKIStatus() places a human-readable string representing the PKIStatusInfo components of the CMP context ctx in the given buffer, with the given maximal length.


CMP is defined in RFC 4210 (and CRMF in RFC 4211).

Return Values

OSSL_CMP_STATUSINFO_new() returns a pointer to the structure on success, or NULL on error.

OSSL_CMP_snprint_PKIStatusInfo() and OSSL_CMP_CTX_snprint_PKIStatus() return a copy of the buffer pointer containing the string or NULL on error.


The OpenSSL CMP support was added in OpenSSL 3.0.

Referenced By

The man pages OSSL_CMP_CTX_snprint_PKIStatus.3ossl(3) and OSSL_CMP_snprint_PKIStatusInfo.3ossl(3) are aliases of OSSL_CMP_STATUSINFO_new.3ossl(3).

2023-03-21 3.0.8 OpenSSL