Mention EVP_PKEY_encrypt_old(3) and EVP_PKEY_decrypt_old(3) because
authorschwarze <schwarze@openbsd.org>
Sun, 10 Sep 2023 16:04:15 +0000 (16:04 +0000)
committerschwarze <schwarze@openbsd.org>
Sun, 10 Sep 2023 16:04:15 +0000 (16:04 +0000)
some software still calls them.  Put them here because despite the
function and header names, they are really specific to RSA.  Besides,
this avoids a distraction in the more important EVP_PKEY_encrypt(3)
and EVP_PKEY_decrypt(3) manual pages.

lib/libcrypto/man/RSA_public_encrypt.3

index b1b4d2a..be3afdf 100644 (file)
@@ -1,7 +1,24 @@
-.\"    $OpenBSD: RSA_public_encrypt.3,v 1.12 2019/06/10 14:58:48 schwarze Exp $
+.\"    $OpenBSD: RSA_public_encrypt.3,v 1.13 2023/09/10 16:04:15 schwarze Exp $
 .\"    OpenSSL RSA_public_encrypt.pod 1e3f62a3 Jul 17 16:47:13 2017 +0200
 .\"
-.\" This file was written by Ulf Moeller <ulf@openssl.org>.
+.\" This file is a derived work.
+.\" The changes are covered by the following Copyright and license:
+.\"
+.\" Copyright (c) 2023 Ingo Schwarze <schwarze@openbsd.org>
+.\"
+.\" Permission to use, copy, modify, and distribute this software for any
+.\" purpose with or without fee is hereby granted, provided that the above
+.\" copyright notice and this permission notice appear in all copies.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" The original file was written by Ulf Moeller <ulf@openssl.org>.
 .\" Copyright (c) 2000, 2004 The OpenSSL Project.  All rights reserved.
 .\"
 .\" Redistribution and use in source and binary forms, with or without
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
 .\" OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd $Mdocdate: June 10 2019 $
+.Dd $Mdocdate: September 10 2023 $
 .Dt RSA_PUBLIC_ENCRYPT 3
 .Os
 .Sh NAME
 .Nm RSA_public_encrypt ,
-.Nm RSA_private_decrypt
+.Nm RSA_private_decrypt ,
+.Nm EVP_PKEY_encrypt_old ,
+.Nm EVP_PKEY_decrypt_old
 .Nd RSA public key cryptography
 .Sh SYNOPSIS
 .In openssl/rsa.h
 .Fa "RSA *rsa"
 .Fa "int padding"
 .Fc
+.In openssl/evp.h
+.Ft int
+.Fo EVP_PKEY_encrypt_old
+.Fa "unsigned char *to"
+.Fa "const unsigned char *from"
+.Fa "int flen"
+.Fa "EVP_PKEY *pkey"
+.Fc
+.Ft int
+.Fo EVP_PKEY_decrypt_old
+.Fa "unsigned char *to"
+.Fa "const unsigned char *from"
+.Fa "int flen"
+.Fa "EVP_PKEY *pkey"
+.Fc
 .Sh DESCRIPTION
 .Fn RSA_public_encrypt
 encrypts the
@@ -132,16 +166,50 @@ must point to a memory section large enough to hold the decrypted data
 .Fn RSA_size rsa ) .
 .Fa padding
 is the padding mode that was used to encrypt the data.
+.Pp
+.Fn EVP_PKEY_encrypt_old
+is a deprecated wrapper around
+.Fn RSA_public_encrypt
+that uses the
+.Vt RSA
+public key stored in
+.Fa pkey
+and
+.Dv RSA_PKCS1_PADDING .
+.Pp
+.Fn EVP_PKEY_decrypt_old
+is a deprecated wrapper around
+.Fn RSA_private_decrypt
+that uses the
+.Vt RSA
+private key stored in
+.Fa pkey
+and
+.Dv RSA_PKCS1_PADDING .
 .Sh RETURN VALUES
 .Fn RSA_public_encrypt
-returns the size of the encrypted data (i.e.\&
+and
+.Fn EVP_PKEY_encrypt_old
+return the size of the encrypted data (i.e.\&
 .Fn RSA_size rsa ) .
 .Fn RSA_private_decrypt
+and
+.Fn EVP_PKEY_decrypt_old
 returns the size of the recovered plaintext.
-.Pp
-On error, -1 is returned; the error codes can be obtained by
+On error, \-1 is returned; the error codes can be obtained by
 .Xr ERR_get_error 3 .
+.Pp
+In addition to the return values documented above,
+.Fn EVP_PKEY_encrypt_old
+may return 0 if the
+.Xr EVP_PKEY_id 3
+of
+.Fa pkey
+is not
+.Dv EVP_PKEY_RSA .
 .Sh SEE ALSO
+.Xr EVP_PKEY_decrypt 3 ,
+.Xr EVP_PKEY_encrypt 3 ,
 .Xr RSA_meth_set_priv_dec 3 ,
 .Xr RSA_new 3 ,
 .Xr RSA_size 3
@@ -154,6 +222,18 @@ and
 appeared in SSLeay 0.4 or earlier and have been available since
 .Ox 2.4 .
 .Pp
+.Fn EVP_PKEY_encrypt
+and
+.Fn EVP_PKEY_decrypt
+first appeared in SSLeay 0.9.0 and have been available since
+.Ox 2.4 .
+There were renamed to
+.Fn EVP_PKEY_encrypt_old
+and
+.Fn EVP_PKEY_decrypt_old
+in OpenSSL 1.0.0 and
+.Ox 4.9 .
+.Pp
 .Dv RSA_NO_PADDING
 is available since SSLeay 0.9.0.
 OAEP was added in OpenSSL 0.9.2b.