Latest update.
This commit is contained in:
@@ -2,10 +2,6 @@
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ossl_cmp_log_parse_metadata,
|
||||
ossl_cmp_add_error_txt,
|
||||
ossl_cmp_add_error_data,
|
||||
ossl_cmp_add_error_line,
|
||||
ossl_cmp_asn1_octet_string_set1,
|
||||
ossl_cmp_asn1_octet_string_set1_bytes,
|
||||
ossl_cmp_build_cert_chain
|
||||
@@ -15,14 +11,6 @@ ossl_cmp_build_cert_chain
|
||||
|
||||
#include "cmp_local.h"
|
||||
|
||||
const char *ossl_cmp_log_parse_metadata(const char *buf,
|
||||
OSSL_CMP_severity *level, char **func,
|
||||
char **file, int *line);
|
||||
|
||||
void ossl_cmp_add_error_txt(const char *separator, const char *txt);
|
||||
#define ossl_cmp_add_error_data(txt)
|
||||
#define ossl_cmp_add_error_line(txt)
|
||||
|
||||
int ossl_cmp_asn1_octet_string_set1(ASN1_OCTET_STRING **tgt,
|
||||
const ASN1_OCTET_STRING *src);
|
||||
int ossl_cmp_asn1_octet_string_set1_bytes(ASN1_OCTET_STRING **tgt,
|
||||
@@ -32,27 +20,6 @@ ossl_cmp_build_cert_chain
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
ossl_cmp_log_parse_metadata() parses the given message buffer I<buf> populated
|
||||
by L<OSSL_CMP_log(3)> etc.
|
||||
according to the pattern OSSL_CMP_LOG_START#level ": %s\n", filling in
|
||||
the variable pointed to by I<level> with the severity level or -1,
|
||||
the variable pointed to by I<func> with the function name string or NULL,
|
||||
the variable pointed to by I<file> with the filename string or NULL, and
|
||||
the variable pointed to by I<line> with the line number or -1.
|
||||
Any string returned via I<*func> and I<*file> must be freeed by the caller.
|
||||
|
||||
ossl_cmp_add_error_txt() appends text to the extra data field of the last
|
||||
error message in the OpenSSL error queue, after adding the optional separator
|
||||
unless data has been empty so far. The text can be of arbitrary length,
|
||||
which is not possible when using L<ERR_add_error_data(3)> in conjunction with
|
||||
L<ERR_print_errors_cb(3)>.
|
||||
|
||||
ossl_cmp_add_error_data() is a macro calling
|
||||
ossl_cmp_add_error_txt() with the separator being ":".
|
||||
|
||||
ossl_cmp_add_error_line() is a macro calling
|
||||
ossl_cmp_add_error_txt() with the separator being "\n".
|
||||
|
||||
ossl_cmp_asn1_octet_string_set1() frees any previous value of the variable
|
||||
referenced via the I<tgt> argument and assigns either a copy of
|
||||
the ASN1_OCTET_STRING given as the I<src> argument or NULL.
|
||||
@@ -68,15 +35,6 @@ certificates and optionally the (possible) trust anchor(s).
|
||||
|
||||
=head1 RETURN VALUES
|
||||
|
||||
ossl_cmp_log_parse_metadata() returns the pointer to the actual message text
|
||||
after the OSSL_CMP_LOG_PREFIX and level and ':' if found in the buffer,
|
||||
else the beginning of the buffer.
|
||||
|
||||
ossl_cmp_add_error_txt()
|
||||
ossl_cmp_add_error_data(), and
|
||||
ossl_cmp_add_error_line()
|
||||
do not return anything.
|
||||
|
||||
ossl_cmp_build_cert_chain()
|
||||
returns NULL on error, else a pointer to a stack of (up_ref'ed) certificates
|
||||
containing the EE certificate given in the function arguments (cert)
|
||||
|
||||
@@ -0,0 +1,193 @@
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ossl_cmp_certReq_new,
|
||||
ossl_cmp_certRep_new,
|
||||
ossl_cmp_rr_new,
|
||||
ossl_cmp_rp_new,
|
||||
ossl_cmp_certConf_new,
|
||||
ossl_cmp_pkiconf_new,
|
||||
ossl_cmp_pollReq_new,
|
||||
ossl_cmp_pollRep_new,
|
||||
ossl_cmp_genm_new,
|
||||
ossl_cmp_genp_new,
|
||||
ossl_cmp_error_new
|
||||
- functions for generating CMP messages
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
#include <openssl/cmp.h>
|
||||
|
||||
# define OSSL_CMP_PKIBODY_IR 0
|
||||
# define OSSL_CMP_PKIBODY_IP 1
|
||||
# define OSSL_CMP_PKIBODY_CR 2
|
||||
# define OSSL_CMP_PKIBODY_CP 3
|
||||
# define OSSL_CMP_PKIBODY_P10CR 4
|
||||
# define OSSL_CMP_PKIBODY_POPDECC 5
|
||||
# define OSSL_CMP_PKIBODY_POPDECR 6
|
||||
# define OSSL_CMP_PKIBODY_KUR 7
|
||||
# define OSSL_CMP_PKIBODY_KUP 8
|
||||
# define OSSL_CMP_PKIBODY_KRR 9
|
||||
# define OSSL_CMP_PKIBODY_KRP 10
|
||||
# define OSSL_CMP_PKIBODY_RR 11
|
||||
# define OSSL_CMP_PKIBODY_RP 12
|
||||
# define OSSL_CMP_PKIBODY_CCR 13
|
||||
# define OSSL_CMP_PKIBODY_CCP 14
|
||||
# define OSSL_CMP_PKIBODY_CKUANN 15
|
||||
# define OSSL_CMP_PKIBODY_CANN 16
|
||||
# define OSSL_CMP_PKIBODY_RANN 17
|
||||
# define OSSL_CMP_PKIBODY_CRLANN 18
|
||||
# define OSSL_CMP_PKIBODY_PKICONF 19
|
||||
# define OSSL_CMP_PKIBODY_NESTED 20
|
||||
# define OSSL_CMP_PKIBODY_GENM 21
|
||||
# define OSSL_CMP_PKIBODY_GENP 22
|
||||
# define OSSL_CMP_PKIBODY_ERROR 23
|
||||
# define OSSL_CMP_PKIBODY_CERTCONF 24
|
||||
# define OSSL_CMP_PKIBODY_POLLREQ 25
|
||||
# define OSSL_CMP_PKIBODY_POLLREP 26
|
||||
|
||||
OSSL_ossl_cmp_MSG *ossl_cmp_certReq_new(OSSL_CMP_CTX *ctx, int bodytype,
|
||||
int err_code);
|
||||
OSSL_CMP_MSG *ossl_cmp_certRep_new(OSSL_CMP_CTX *ctx, int bodytype,
|
||||
int certReqId, OSSL_CMP_PKISI *si,
|
||||
X509 *cert, STACK_OF(X509) *chain,
|
||||
STACK_OF(X509) *caPubs,
|
||||
int encrypted, int unprotectedErrors);
|
||||
OSSL_CMP_MSG *ossl_cmp_rr_new(OSSL_CMP_CTX *ctx);
|
||||
OSSL_CMP_MSG *ossl_cmp_rp_new(OSSL_CMP_CTX *ctx, OSSL_CMP_PKISI *si,
|
||||
OSSL_CRMF_CERTID *cid, int unprot_err);
|
||||
OSSL_CMP_MSG *ossl_cmp_certConf_new(OSSL_CMP_CTX *ctx, int fail_info,
|
||||
const char *text);
|
||||
OSSL_CMP_MSG *ossl_cmp_pkiconf_new(OSSL_CMP_CTX *ctx);
|
||||
OSSL_CMP_MSG *ossl_cmp_pollReq_new(OSSL_CMP_CTX *ctx, int crid);
|
||||
OSSL_CMP_MSG *ossl_cmp_pollRep_new(OSSL_CMP_CTX *ctx, int crid, int poll_after)
|
||||
OSSL_CMP_MSG *ossl_cmp_genm_new(OSSL_CMP_CTX *ctx);
|
||||
OSSL_CMP_MSG *ossl_cmp_genp_new(OSSL_CMP_CTX *ctx);
|
||||
OSSL_CMP_MSG *ossl_cmp_error_new(OSSL_CMP_CTX *ctx, OSSL_CMP_PKISI *si,
|
||||
int errorCode,
|
||||
OSSL_CMP_PKIFREETEXT *errorDetails,
|
||||
int unprotected)
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
This is the API for creating various CMP PKIMESSAGES. The
|
||||
functions allocate a new message, fill it with the relevant data derived from
|
||||
the given OSSL_CMP_CTX, and create the applicable protection.
|
||||
|
||||
ossl_cmp_certReq_new() creates a PKIMessage for requesting a certificate,
|
||||
which can be either of IR/CR/KUR/P10CR, depending on the given B<bodytype>.
|
||||
The OpenSSL error reason code defined in err.h to use on error is given as
|
||||
B<err_code>.
|
||||
|
||||
Available CMP certificate request PKIMessage B<bodytype>s are:
|
||||
|
||||
=over 4
|
||||
|
||||
=item * B<OSSL_CMP_PKIBODY_IR> - Initialization Request
|
||||
|
||||
=item * B<OSSL_CMP_PKIBODY_CR> - Certification Request
|
||||
|
||||
=item * B<OSSL_CMP_PKIBODY_P10CR> - PKCS#10 Certification Request
|
||||
|
||||
=item * B<OSSL_CMP_PKIBODY_KUR> - Key Update Request
|
||||
|
||||
=back
|
||||
|
||||
ossl_cmp_certrep_new() creates a PKIMessage for certificate response, which can
|
||||
be either of IP/CP/KUP, depending on the given B<bodytype>.
|
||||
|
||||
Available CMP certificate response PKIMessage B<bodytype>s are:
|
||||
|
||||
=over 4
|
||||
|
||||
=item * B<OSSL_CMP_PKIBODY_IP> - Initialization Response
|
||||
|
||||
=item * B<OSSL_CMP_PKIBODY_CP> - Certification Response
|
||||
|
||||
=item * B<OSSL_CMP_PKIBODY_KUP> - Key Update Response
|
||||
|
||||
=back
|
||||
|
||||
The list of all CMP PKIMessage B<bodytype>s is:
|
||||
|
||||
#define OSSL_CMP_PKIBODY_IR 0
|
||||
#define OSSL_CMP_PKIBODY_IP 1
|
||||
#define OSSL_CMP_PKIBODY_CR 2
|
||||
#define OSSL_CMP_PKIBODY_CP 3
|
||||
#define OSSL_CMP_PKIBODY_P10CR 4
|
||||
#define OSSL_CMP_PKIBODY_POPDECC 5
|
||||
#define OSSL_CMP_PKIBODY_POPDECR 6
|
||||
#define OSSL_CMP_PKIBODY_KRR 9
|
||||
#define OSSL_CMP_PKIBODY_KRP 10
|
||||
#define OSSL_CMP_PKIBODY_RR 11
|
||||
#define OSSL_CMP_PKIBODY_RP 12
|
||||
#define OSSL_CMP_PKIBODY_CCR 13
|
||||
#define OSSL_CMP_PKIBODY_CCP 14
|
||||
#define OSSL_CMP_PKIBODY_CKUANN 15
|
||||
#define OSSL_CMP_PKIBODY_CANN 16
|
||||
#define OSSL_CMP_PKIBODY_RANN 17
|
||||
#define OSSL_CMP_PKIBODY_CRLANN 18
|
||||
#define OSSL_CMP_PKIBODY_PKICONF 19
|
||||
#define OSSL_CMP_PKIBODY_NESTED 20
|
||||
#define OSSL_CMP_PKIBODY_GENM 21
|
||||
#define OSSL_CMP_PKIBODY_GENP 22
|
||||
#define OSSL_CMP_PKIBODY_ERROR 23
|
||||
#define OSSL_CMP_PKIBODY_CERTCONF 24
|
||||
#define OSSL_CMP_PKIBODY_POLLREQ 25
|
||||
#define OSSL_CMP_PKIBODY_POLLREP 26
|
||||
|
||||
ossl_cmp_rr_new() creates a Revocation Request message from the
|
||||
information set via OSSL_CMP_CTX_set1_oldClCert().
|
||||
|
||||
ossl_cmp_rp_new() creates a Revocation Response message with status set to
|
||||
B<si> and CertID set to B<cid>. Consumes B<cid>.
|
||||
Accepts unprotected errors if B<uprot_err> != 0.
|
||||
|
||||
ossl_cmp_certConf_new() creates a Certificate Confirmation message for the last
|
||||
received certificate. PKIStatus defaults to B<accepted> if the B<fail_info> bit
|
||||
field is 0. Else it is taken as the failInfo of the PKIStatusInfo, PKIStatus is
|
||||
set to B<rejected>, and B<text> is copied to statusString unless it is NULL.
|
||||
|
||||
ossl_cmp_pkiconf_new() creates a PKI Confirmation message.
|
||||
|
||||
ossl_cmp_pollReq_new() creates a Polling Request message with certReqId set to
|
||||
B<crid>.
|
||||
|
||||
ossl_cmp_pollRep_new() creates a Polling Response message with certReqId set to
|
||||
B<crid> and pollAfter to B<poll_after>.
|
||||
|
||||
ossl_cmp_genm_new() creates a new General Message with an empty ITAV stack.
|
||||
|
||||
ossl_cmp_genp_new() creates a new General Response with an empty ITAV stack.
|
||||
|
||||
ossl_cmp_error_new() creates a new Error Message with the given contents,
|
||||
copying B<si> and B<errorDetails>.
|
||||
|
||||
=head1 NOTES
|
||||
|
||||
CMP is specified in RFC 4210 (and CRMF in RFC 4211).
|
||||
|
||||
=head1 RETURN VALUES
|
||||
|
||||
All of the functions return a new OSSL_CMP_MSG structure containing
|
||||
the generated message on success, or NULL on error.
|
||||
|
||||
=head1 SEE ALSO
|
||||
|
||||
L<OSSL_CMP_CTX_new(3)>, L<ERR_load_strings(3)>
|
||||
|
||||
=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<https://www.openssl.org/source/license.html>.
|
||||
|
||||
=cut
|
||||
@@ -0,0 +1,81 @@
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ossl_cmp_bodytype_to_string,
|
||||
ossl_cmp_msg_get_bodytype,
|
||||
ossl_cmp_msg_set_bodytype,
|
||||
ossl_cmp_msg_create,
|
||||
ossl_cmp_msg_load,
|
||||
ossl_cmp_msg_gen_ITAV_push0,
|
||||
ossl_cmp_msg_gen_ITAVs_push1
|
||||
- functions manipulating CMP messages
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
#include "cmp_int.h"
|
||||
|
||||
const char *ossl_cmp_bodytype_to_string(int type);
|
||||
int ossl_cmp_msg_get_bodytype(const OSSL_CMP_MSG *msg);
|
||||
int ossl_cmp_msg_set_bodytype( OSSL_CMP_MSG *msg, int type);
|
||||
OSSL_CMP_MSG *ossl_cmp_msg_create(OSSL_CMP_CTX *ctx, int bodytype);
|
||||
OSSL_CMP_MSG *ossl_cmp_msg_load(const char *file);
|
||||
int ossl_cmp_msg_gen_ITAV_push0(OSSL_CMP_MSG *msg, OSSL_CMP_ITAV *itav);
|
||||
int ossl_cmp_msg_gen_ITAVs_push1(OSSL_CMP_MSG *msg,
|
||||
STACK_OF(OSSL_CMP_ITAV) *itavs);
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
ossl_cmp_bodytype_to_string() returns the name of the given body type as string,
|
||||
or "illegal body type" on error.
|
||||
|
||||
ossl_cmp_msg_get_bodytype() returns the body type of the given PKIMessage,
|
||||
or -1 on error.
|
||||
|
||||
ossl_cmp_msg_set_bodytype() sets the type of the message contained in
|
||||
the PKIMessage body field.
|
||||
Returns 1 on success, 0 on error.
|
||||
|
||||
ossl_cmp_msg_create() creates and initializes a OSSL_CMP_MSG structure,
|
||||
using B<ctx> for the header and B<bodytype> for the body.
|
||||
Returns pointer to created OSSL_CMP_MSG on success, NULL on error.
|
||||
|
||||
OSSL_CMP_MSG *ossl_cmp_msg_load() loads a OSSL_CMP_MSG from a B<file>.
|
||||
Returns pointer to created OSSL_CMP_MSG on success, NULL on error.
|
||||
|
||||
ossl_cmp_msg_gen_ITAV_push0() pushes the B<itav> to the body of the
|
||||
PKIMessage B<msg> of GenMsg or GenRep type. Consumes the B<itavs> pointer.
|
||||
Returns 1 on success, 0 on error.
|
||||
|
||||
ossl_cmp_msg_gen_ITAVs_push1() adds a copy of the B<itavs> stack to the body
|
||||
of the PKIMessage B<msg> of GenMsg or GenRep type.
|
||||
Does not consume the B<itavs> pointer nor its elements.
|
||||
Returns 1 on success, 0 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<OSSL_CMP_CTX_new(3)>, L<OSSL_CMP_exec_IR_ses(3)>,
|
||||
L<OSSL_CMP_MSG_http_perform(3)>
|
||||
|
||||
=head1 HISTORY
|
||||
|
||||
The OpenSSL CMP support was added in OpenSSL 3.0.
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
Copyright 2007-2020 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<https://www.openssl.org/source/license.html>.
|
||||
|
||||
=cut
|
||||
@@ -0,0 +1,53 @@
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ossl_cmp_msg_protect,
|
||||
ossl_cmp_msg_add_extraCerts
|
||||
- functions for producing CMP message protection
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
#include "cmp_int.h"
|
||||
|
||||
int ossl_cmp_msg_protect(OSSL_CMP_CTX *ctx, OSSL_CMP_MSG *msg);
|
||||
int ossl_cmp_msg_add_extraCerts(OSSL_CMP_CTX *ctx, OSSL_CMP_MSG *msg);
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
ossl_cmp_msg_protect() protects the given message B<msg> using an algorithm
|
||||
depending on the available context information given in the B<ctx>.
|
||||
If there is a secretValue it selects PBMAC. Else if there is a clCert
|
||||
it selects Signature and uses B<ossl_cmp_msg_add_extraCerts()>.
|
||||
It also sets the protectionAlg field in the message header accordingly.
|
||||
|
||||
ossl_cmp_msg_add_extraCerts() adds elements to the extraCerts field in the given
|
||||
message B<msg>. It tries to build the certificate chain of the client cert in
|
||||
the B<ctx> if present by using certificates in ctx->untrusted_certs;
|
||||
if no untrusted certs are set, it will at least add the client certificate.
|
||||
In any case all the certificates explicitly specified to be sent out (i.e.,
|
||||
B<ctx->extraCertsOut>) are added. Note that it will NOT add the root certificate
|
||||
of the chain, i.e, the trust anchor (unless it is part of extraCertsOut).
|
||||
|
||||
=head1 NOTES
|
||||
|
||||
CMP is defined in RFC 4210 (and CRMF in RFC 4211).
|
||||
|
||||
=head1 RETURN VALUES
|
||||
|
||||
All functions return 1 on success, 0 on error.
|
||||
|
||||
=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<https://www.openssl.org/source/license.html>.
|
||||
|
||||
=cut
|
||||
@@ -0,0 +1,108 @@
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ossl_cmp_print_log,
|
||||
ossl_cmp_alert,
|
||||
ossl_cmp_err,
|
||||
ossl_cmp_warn,
|
||||
ossl_cmp_info,
|
||||
ossl_cmp_debug,
|
||||
ossl_cmp_log,
|
||||
ossl_cmp_log1,
|
||||
ossl_cmp_log2,
|
||||
ossl_cmp_log3,
|
||||
ossl_cmp_log4,
|
||||
ossl_cmp_log_parse_metadata,
|
||||
ossl_cmp_add_error_data,
|
||||
ossl_cmp_add_error_line
|
||||
- logging and error reporting support for CMP
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
#include "cmp_local.h"
|
||||
|
||||
int ossl_cmp_print_log(OSSL_CMP_severity level, const OSSL_CMP_CTX *ctx,
|
||||
const char *func, const char *file, int line,
|
||||
const char *level_str, const char *format, ...);
|
||||
#define ossl_cmp_alert(ctx, msg)
|
||||
#define ossl_cmp_err(ctx, msg)
|
||||
#define ossl_cmp_warn(ctx, msg)
|
||||
#define ossl_cmp_info(ctx, msg)
|
||||
#define ossl_cmp_debug(ctx, (msg)
|
||||
#define ossl_cmp_log(level, ctx, msg)
|
||||
#define ossl_cmp_log1(level, ctx, fmt, arg1)
|
||||
#define ossl_cmp_log2(level, ctx, fmt, arg1, arg2)
|
||||
#define ossl_cmp_log3(level, ctx, fmt, arg1, arg2, arg3)
|
||||
#define ossl_cmp_log4(level, ctx, fmt, arg1, arg2, arg3, arg4)
|
||||
const char *ossl_cmp_log_parse_metadata(const char *buf,
|
||||
OSSL_CMP_severity *level, char **func,
|
||||
char **file, int *line);
|
||||
|
||||
#define ossl_cmp_add_error_data(txt)
|
||||
#define ossl_cmp_add_error_line(txt)
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
ossl_cmp_print_log() prints CMP log messages (i.e., diagnostic info) via the
|
||||
log callback of the B<ctx> if present and the severity level is sufficient.
|
||||
If the trace API if enabled the function uses it, prepending the function name,
|
||||
filename, line number, and severity information to the message being output.
|
||||
In any case the B<level>, B<func>, B<file>, and B<line> parameters
|
||||
and the message constructed using the given B<format> and variable further
|
||||
argument list are passed to the log callback function (unless it is NULL).
|
||||
The B<ctx>, B<func>, B<file>, and B<level_str> arguments may be NULL.
|
||||
|
||||
ossl_cmp_alert(), ossl_cmp_err(), ossl_cmp_warn(), ossl_cmp_info(), and
|
||||
ossl_cmp_debug() output a simple alert/error/warning/info/debug message
|
||||
via ossl_cmp_print_log().
|
||||
|
||||
ossl_cmp_log(), ossl_cmp_log1(), ossl_cmp_log2(), ossl_cmp_log3(), and
|
||||
ossl_cmp_log4() output a log message with the given severity,
|
||||
constructing the message text from the given format and arguments.
|
||||
|
||||
ossl_cmp_log_parse_metadata() parses the given message buffer I<buf> populated
|
||||
by ossl_cmp_log() etc.
|
||||
according to the pattern OSSL_CMP_LOG_START#level ": %s\n", filling in
|
||||
the variable pointed to by I<level> with the severity level or -1,
|
||||
the variable pointed to by I<func> with the function name string or NULL,
|
||||
the variable pointed to by I<file> with the filename string or NULL, and
|
||||
the variable pointed to by I<line> with the line number or -1.
|
||||
Any string returned via I<*func> and I<*file> must be freeed by the caller.
|
||||
|
||||
ossl_cmp_add_error_data() is a macro calling
|
||||
L<ERR_add_error_txt(3)> with the separator being ":".
|
||||
|
||||
ossl_cmp_add_error_line() is a macro calling
|
||||
L<ERR_add_error_txt(3)> with the separator being "\n".
|
||||
|
||||
=head1 RETURN VALUES
|
||||
|
||||
ossl_cmp_log_parse_metadata() returns the pointer to the actual message text
|
||||
after the OSSL_CMP_LOG_PREFIX and level and ':' if found in the buffer,
|
||||
else the beginning of the buffer.
|
||||
|
||||
ossl_cmp_add_error_data() and
|
||||
ossl_cmp_add_error_line()
|
||||
do not return anything.
|
||||
|
||||
All other functions return 1 on success, 0 on error.
|
||||
|
||||
=head1 SEE ALSO
|
||||
|
||||
L<ERR_add_error_txt(3)>
|
||||
|
||||
=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<https://www.openssl.org/source/license.html>.
|
||||
|
||||
=cut
|
||||
@@ -15,9 +15,9 @@ ossl_cmp_X509_STORE_get1_certs
|
||||
int ossl_cmp_sk_X509_add1_cert(STACK_OF(X509) *sk, X509 *cert,
|
||||
int no_dup, int prepend);
|
||||
int ossl_cmp_sk_X509_add1_certs(STACK_OF(X509) *sk, STACK_OF(X509) *certs,
|
||||
int no_self_signed, int no_dups, int prepend);
|
||||
int no_self_issued, int no_dups, int prepend);
|
||||
int ossl_cmp_X509_STORE_add1_certs(X509_STORE *store, STACK_OF(X509) *certs,
|
||||
int only_self_signed);
|
||||
int only_self_issued);
|
||||
STACK_OF(X509) *ossl_cmp_X509_STORE_get1_certs(X509_STORE *store);
|
||||
|
||||
=head1 DESCRIPTION
|
||||
@@ -29,10 +29,10 @@ On success the reference count of the certificate is increased.
|
||||
|
||||
ossl_cmp_sk_X509_add1_certs() appends or prepends (depending on the I<prepend>
|
||||
argument) a list of certificates to the given list,
|
||||
optionally only if not self-signed and optionally only if not already contained.
|
||||
optionally only if not self-issued and optionally only if not already contained.
|
||||
The reference counts of those certificates appended successfully are increased.
|
||||
|
||||
ossl_cmp_X509_STORE_add1_certs() adds all or only self-signed certificates from
|
||||
ossl_cmp_X509_STORE_add1_certs() adds all or only self-issued certificates from
|
||||
the given stack to given store. The I<certs> parameter may be NULL.
|
||||
|
||||
ossl_cmp_X509_STORE_get1_certs() retrieves a copy of all certificates in the
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ossl_param_bld_init, ossl_param_bld_to_param, ossl_param_bld_to_param_ex,
|
||||
ossl_param_bld_init, ossl_param_bld_to_param,
|
||||
ossl_param_bld_free, ossl_param_bld_push_int, ossl_param_bld_push_uint,
|
||||
ossl_param_bld_push_long, ossl_param_bld_push_ulong,
|
||||
ossl_param_bld_push_int32, ossl_param_bld_push_uint32,
|
||||
@@ -24,10 +24,6 @@ ossl_param_bld_push_octet_string, ossl_param_bld_push_octet_ptr
|
||||
|
||||
void ossl_param_bld_init(OSSL_PARAM_BLD *bld);
|
||||
OSSL_PARAM *ossl_param_bld_to_param(OSSL_PARAM_BLD *bld);
|
||||
OSSL_PARAM *ossl_param_bld_to_param_ex(OSSL_PARAM_BLD *bld,
|
||||
OSSL_PARAM *params, size_t param_n,
|
||||
void *data, size_t data_n,
|
||||
void *secure, size_t secure_n);
|
||||
void ossl_param_bld_free(OSSL_PARAM *params);
|
||||
|
||||
int ossl_param_bld_push_TYPE(OSSL_PARAM_BLD *bld, const char *key, TYPE val);
|
||||
@@ -64,14 +60,6 @@ ossl_param_bld_free() with the functions return value.
|
||||
ossl_param_bld_free() deallocates the memory allocated by
|
||||
ossl_param_bld_to_param().
|
||||
|
||||
ossl_param_bld_to_param_ex() behaves like ossl_param_bld_to_param(), except that
|
||||
no additional memory is allocated.
|
||||
An OSSL_PARAM array of at least I<param_n> elements is passed in as I<params>.
|
||||
The auxiliary storage for the parameters is a block of memory pointed to
|
||||
by I<data> of at least I<data_n> bytes in size.
|
||||
If required, secure memory for private BIGNUMs should be pointed to by
|
||||
I<secure> of at least I<secure_n> bytes in size.
|
||||
|
||||
=begin comment
|
||||
|
||||
POD is pretty good at recognising function names and making them appropriately
|
||||
@@ -125,8 +113,8 @@ scope until the OSSL_PARAM array is freed.
|
||||
|
||||
=head1 RETURN VALUES
|
||||
|
||||
ossl_param_bld_to_param() and ossl_param_bld_to_param_ex() return the
|
||||
allocated OSSL_PARAM array, or NULL on error.
|
||||
ossl_param_bld_to_param() returns the allocated OSSL_PARAM array, or NULL
|
||||
on error.
|
||||
|
||||
All of the ossl_param_bld_push_TYPE functions return 1 on success and 0
|
||||
on error.
|
||||
|
||||
Reference in New Issue
Block a user