From eb8dd9dca1228af0cd132f515509051ecfabf6f6 Mon Sep 17 00:00:00 2001 From: cvs2svn Date: Mon, 14 Apr 2025 17:32:06 +0000 Subject: This commit was manufactured by cvs2git to create tag 'tb_20250414'. --- src/lib/libcrypto/man/EVP_PKEY_verify_recover.3 | 188 ------------------------ 1 file changed, 188 deletions(-) delete mode 100644 src/lib/libcrypto/man/EVP_PKEY_verify_recover.3 (limited to 'src/lib/libcrypto/man/EVP_PKEY_verify_recover.3') diff --git a/src/lib/libcrypto/man/EVP_PKEY_verify_recover.3 b/src/lib/libcrypto/man/EVP_PKEY_verify_recover.3 deleted file mode 100644 index 30c034cdb5..0000000000 --- a/src/lib/libcrypto/man/EVP_PKEY_verify_recover.3 +++ /dev/null @@ -1,188 +0,0 @@ -.\" $OpenBSD: EVP_PKEY_verify_recover.3,v 1.10 2024/12/06 14:27:49 schwarze Exp $ -.\" full merge up to: OpenSSL 48e5119a Jan 19 10:49:22 2018 +0100 -.\" -.\" This file was written by Dr. Stephen Henson . -.\" Copyright (c) 2006, 2009, 2010, 2013, 2018 The OpenSSL Project. -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" -.\" 3. All advertising materials mentioning features or use of this -.\" software must display the following acknowledgment: -.\" "This product includes software developed by the OpenSSL Project -.\" for use in the OpenSSL Toolkit. (http://www.openssl.org/)" -.\" -.\" 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to -.\" endorse or promote products derived from this software without -.\" prior written permission. For written permission, please contact -.\" openssl-core@openssl.org. -.\" -.\" 5. Products derived from this software may not be called "OpenSSL" -.\" nor may "OpenSSL" appear in their names without prior written -.\" permission of the OpenSSL Project. -.\" -.\" 6. Redistributions of any form whatsoever must retain the following -.\" acknowledgment: -.\" "This product includes software developed by the OpenSSL Project -.\" for use in the OpenSSL Toolkit (http://www.openssl.org/)" -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY -.\" EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR -.\" ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -.\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -.\" OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd $Mdocdate: December 6 2024 $ -.Dt EVP_PKEY_VERIFY_RECOVER 3 -.Os -.Sh NAME -.Nm EVP_PKEY_verify_recover_init , -.Nm EVP_PKEY_verify_recover -.Nd recover signature using a public key algorithm -.Sh SYNOPSIS -.In openssl/evp.h -.Ft int -.Fo EVP_PKEY_verify_recover_init -.Fa "EVP_PKEY_CTX *ctx" -.Fc -.Ft int -.Fo EVP_PKEY_verify_recover -.Fa "EVP_PKEY_CTX *ctx" -.Fa "unsigned char *rout" -.Fa "size_t *routlen" -.Fa "const unsigned char *sig" -.Fa "size_t siglen" -.Fc -.Sh DESCRIPTION -The -.Fn EVP_PKEY_verify_recover_init -function initializes a public key algorithm context using key -.Fa ctx->pkey -for a verify recover operation. -.Pp -The -.Fn EVP_PKEY_verify_recover -function recovers signed data using -.Fa ctx . -The signature is specified using the -.Fa sig -and -.Fa siglen -parameters. -If -.Fa rout -is -.Dv NULL , -then the maximum size of the output buffer is written to the -.Fa routlen -parameter. -If -.Fa rout -is not -.Dv NULL , -then before the call the -.Fa routlen -parameter should contain the length of the -.Fa rout -buffer. -If the call is successful, recovered data is written to -.Fa rout -and the amount of data written to -.Fa routlen . -.Pp -Normally an application is only interested in whether a signature -verification operation is successful. -In those cases, the -.Xr EVP_PKEY_verify 3 -function should be used. -.Pp -Sometimes however it is useful to obtain the data originally signed -using a signing operation. -Only certain public key algorithms can recover a signature in this way -(for example RSA in PKCS padding mode). -.Pp -After the call to -.Fn EVP_PKEY_verify_recover_init , -algorithm specific control operations can be performed to set any -appropriate parameters for the operation. -.Pp -The function -.Fn EVP_PKEY_verify_recover -can be called more than once on the same context if several operations -are performed using the same parameters. -.Sh RETURN VALUES -.Fn EVP_PKEY_verify_recover_init -and -.Fn EVP_PKEY_verify_recover -return 1 for success and 0 or a negative value for failure. -In particular, a return value of -2 indicates the operation is not -supported by the public key algorithm. -.Sh EXAMPLES -Recover digest originally signed using PKCS#1 and SHA256 digest: -.Bd -literal -offset indent -#include -#include - -EVP_PKEY_CTX *ctx; -unsigned char *rout, *sig; -size_t routlen, siglen; -EVP_PKEY *verify_key; - -/* - * Assumes that verify_key, sig, and siglen are already set up - * and that verify_key is an RSA public key. - */ -ctx = EVP_PKEY_CTX_new(verify_key, NULL); -if (!ctx) - /* Error occurred */ -if (EVP_PKEY_verify_recover_init(ctx) <= 0) - /* Error */ -if (EVP_PKEY_CTX_set_rsa_padding(ctx, RSA_PKCS1_PADDING) <= 0) - /* Error */ -if (EVP_PKEY_CTX_set_signature_md(ctx, EVP_sha256()) <= 0) - /* Error */ - -/* Determine buffer length */ -if (EVP_PKEY_verify_recover(ctx, NULL, &routlen, sig, siglen) <= 0) - /* Error */ - -rout = malloc(routlen); - -if (!rout) - /* malloc failure */ - -if (EVP_PKEY_verify_recover(ctx, rout, &routlen, sig, siglen) <= 0) - /* Error */ - -/* Recovered data is routlen bytes written to buffer rout */ -.Ed -.Sh SEE ALSO -.Xr EVP_PKEY_CTX_new 3 , -.Xr EVP_PKEY_decrypt 3 , -.Xr EVP_PKEY_derive 3 , -.Xr EVP_PKEY_encrypt 3 , -.Xr EVP_PKEY_sign 3 , -.Xr EVP_PKEY_verify 3 -.Sh HISTORY -.Fn EVP_PKEY_verify_recover_init -and -.Fn EVP_PKEY_verify_recover -first appeared in OpenSSL 1.0.0 and have been available since -.Ox 4.9 . -- cgit v1.2.3-55-g6feb