=pod =head1 NAME ossl_cmp_statusinfo_new, ossl_cmp_pkisi_pkistatus_get, ossl_cmp_pkisi_pkifailureinfo_get, ossl_cmp_pkisi_pkifailureinfo_check, ossl_cmp_pkisi_failinfo_get0, ossl_cmp_pkisi_statusstring_get0, ossl_pkisi_snprint - functions for managing PKI status information =head1 SYNOPSIS #include "cmp.h" # define OSSL_CMP_PKIFAILUREINFO_badAlg 0 # define OSSL_CMP_PKIFAILUREINFO_badMessageCheck 1 # define OSSL_CMP_PKIFAILUREINFO_badRequest 2 # define OSSL_CMP_PKIFAILUREINFO_badTime 3 # define OSSL_CMP_PKIFAILUREINFO_badCertId 4 # define OSSL_CMP_PKIFAILUREINFO_badDataFormat 5 # define OSSL_CMP_PKIFAILUREINFO_wrongAuthority 6 # define OSSL_CMP_PKIFAILUREINFO_incorrectData 7 # define OSSL_CMP_PKIFAILUREINFO_missingTimeStamp 8 # define OSSL_CMP_PKIFAILUREINFO_badPOP 9 # define OSSL_CMP_PKIFAILUREINFO_certRevoked 10 # define OSSL_CMP_PKIFAILUREINFO_certConfirmed 11 # define OSSL_CMP_PKIFAILUREINFO_wrongIntegrity 12 # define OSSL_CMP_PKIFAILUREINFO_badRecipientNonce 13 # define OSSL_CMP_PKIFAILUREINFO_timeNotAvailable 14 # define OSSL_CMP_PKIFAILUREINFO_unacceptedPolicy 15 # define OSSL_CMP_PKIFAILUREINFO_unacceptedExtension 16 # define OSSL_CMP_PKIFAILUREINFO_addInfoNotAvailable 17 # define OSSL_CMP_PKIFAILUREINFO_badSenderNonce 18 # define OSSL_CMP_PKIFAILUREINFO_badCertTemplate 19 # define OSSL_CMP_PKIFAILUREINFO_signerNotTrusted 20 # define OSSL_CMP_PKIFAILUREINFO_transactionIdInUse 21 # define OSSL_CMP_PKIFAILUREINFO_unsupportedVersion 22 # define OSSL_CMP_PKIFAILUREINFO_notAuthorized 23 # define OSSL_CMP_PKIFAILUREINFO_systemUnavail 24 # define OSSL_CMP_PKIFAILUREINFO_systemFailure 25 # define OSSL_CMP_PKIFAILUREINFO_duplicateCertReq 26 # define OSSL_CMP_PKIFAILUREINFO_MAX 26 OSSL_CMP_PKISI *ossl_cmp_statusinfo_new(int status, int fail_info, const char *text); int ossl_cmp_pkisi_pkistatus_get(OSSL_CMP_PKISI *si); int ossl_cmp_pkisi_pkifailureinfo_get(OSSL_CMP_PKISI *si); int ossl_cmp_pkisi_pkifailureinfo_check(OSSL_CMP_PKISI *si, int bit_index); OSSL_CMP_PKIFAILUREINFO *ossl_cmp_pkisi_failinfo_get0(const OSSL_CMP_PKISI *si); OSSL_CMP_PKIFREETEXT *ossl_cmp_pkisi_statusstring_get0(const OSSL_CMP_PKISI *si); char *ossl_pkisi_snprint(OSSL_CMP_PKISI *si, char *buf, int bufsize); =head1 DESCRIPTION ossl_cmp_statusinfo_new() creates a new PKIStatusInfo structure and fills it with the given values. It sets the status field to B. If B is not NULL, it is copied to statusString. B is is interpreted as bit pattern for the failInfo field. Returns a pointer to the structure on success, or NULL on error. ossl_cmp_pkisi_pkistatus_get() returns the PKIStatus of B, or -1 on error. ossl_cmp_pkisi_pkifailureinfo_get() returns the PKIFailureInfo bits of B, encoded as integer, or -1 on error. ossl_cmp_pkisi_pkifailureinfo_check() returns the state of the bit (0 or 1) with index B in the PKIFailureInfo of the B, or -1 on error. ossl_cmp_pkisi_failinfo_get0() returns a direct pointer to the failInfo field contained in B, or NULL on error. ossl_cmp_pkisi_statusstring_get0() returns a direct pointer to the statusString field contained in B. ossl_pkisi_snprint() places at max B characters of human-readable error string of B in pre-allocated B. Returns pointer to the same B containing the string, or NULL on error. =head1 NOTES CMP is defined in RFC 4210 (and CRMF in RFC 4211). =head1 RETURN VALUES See the individual functions above. =head1 SEE ALSO L, L =head1 HISTORY The OpenSSL CMP support was added in OpenSSL 3.0. =head1 COPYRIGHT 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 L. =cut