From cace14b8ef5362a7a269ac71dcac8304206811e1 Mon Sep 17 00:00:00 2001 From: David Cooper Date: Wed, 24 Jan 2018 11:47:23 -0500 Subject: [PATCH] Add documentation for the OCSP_basic_sign() and OCSP_basic_sign_ctx() functions. Correct error return value in OCSP_basic_sign(). Reviewed-by: Rich Salz Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/4190) --- crypto/ocsp/ocsp_srv.c | 2 +- doc/man3/OCSP_response_status.pod | 21 +++++++++++++++++++-- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/crypto/ocsp/ocsp_srv.c b/crypto/ocsp/ocsp_srv.c index 9c7c81a1b0..eff6ddbd60 100644 --- a/crypto/ocsp/ocsp_srv.c +++ b/crypto/ocsp/ocsp_srv.c @@ -239,7 +239,7 @@ int OCSP_basic_sign(OCSP_BASICRESP *brsp, if (!EVP_DigestSignInit(ctx, &pkctx, dgst, NULL, key)) { EVP_MD_CTX_free(ctx); - return 1; + return 0; } i = OCSP_basic_sign_ctx(brsp, signer, ctx, certs, flags); EVP_MD_CTX_free(ctx); diff --git a/doc/man3/OCSP_response_status.pod b/doc/man3/OCSP_response_status.pod index e81b8665d4..6f302a72cf 100644 --- a/doc/man3/OCSP_response_status.pod +++ b/doc/man3/OCSP_response_status.pod @@ -4,7 +4,8 @@ OCSP_response_status, OCSP_response_get1_basic, OCSP_response_create, OCSP_RESPONSE_free, OCSP_RESPID_set_by_name, -OCSP_RESPID_set_by_key, OCSP_RESPID_match - OCSP response functions +OCSP_RESPID_set_by_key, OCSP_RESPID_match, +OCSP_basic_sign, OCSP_basic_sign_ctx - OCSP response functions =head1 SYNOPSIS @@ -19,6 +20,12 @@ OCSP_RESPID_set_by_key, OCSP_RESPID_match - OCSP response functions int OCSP_RESPID_set_by_key(OCSP_RESPID *respid, X509 *cert); int OCSP_RESPID_match(OCSP_RESPID *respid, X509 *cert); + int OCSP_basic_sign(OCSP_BASICRESP *brsp, X509 *signer, EVP_PKEY *key, + const EVP_MD *dgst, STACK_OF(X509) *certs, + unsigned long flags); + int OCSP_basic_sign_ctx(OCSP_BASICRESP *brsp, X509 *signer, EVP_MD_CTX *ctx, + STACK_OF(X509) *certs, unsigned long flags); + =head1 DESCRIPTION OCSP_response_status() returns the OCSP response status of B. It returns @@ -49,6 +56,13 @@ setting. OCSP_RESPID_match() tests whether the OCSP_RESPID given in B matches with the X509 certificate B. +OCSP_basic_sign() signs OCSP response brsp using certificate signer, private key +key, digest dgst and additional certificates certs. If the flags option +OCSP_NOCERTS is set then no certificates will be included in the request. If the +flags option OCSP_RESPID_KEY is set then the responder is identified by key ID +rather than by name. OCSP_basic_sign_ctx() also signs OCSP response brsp but +uses the parameters contained in digest context ctx. + =head1 RETURN VALUES OCSP_RESPONSE_status() returns a status value. @@ -61,7 +75,8 @@ if an error occurred. OCSP_RESPONSE_free() does not return a value. -OCSP_RESPID_set_by_name() and OCSP_RESPID_set_by_key() return 1 on success or 0 +OCSP_RESPID_set_by_name(), OCSP_RESPID_set_by_key(), OCSP_basic_sign(), and +OCSP_basic_sign_ctx() return 1 on success or 0 on failure. OCSP_RESPID_match() returns 1 if the OCSP_RESPID and the X509 certificate match @@ -88,6 +103,8 @@ L The OCSP_RESPID_set_by_name(), OCSP_RESPID_set_by_key() and OCSP_RESPID_match() functions were added in OpenSSL 1.1.0a. +The OCSP_basic_sign_ctx() function was added in OpenSSL 1.1.1. + =head1 COPYRIGHT Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. -- 2.25.1