summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/libcrypto/man/evp.367
1 files changed, 56 insertions, 11 deletions
diff --git a/src/lib/libcrypto/man/evp.3 b/src/lib/libcrypto/man/evp.3
index 6eb6ebfa33..5e09e4ad1c 100644
--- a/src/lib/libcrypto/man/evp.3
+++ b/src/lib/libcrypto/man/evp.3
@@ -1,5 +1,5 @@
1.\" $OpenBSD: evp.3,v 1.15 2023/07/09 06:49:25 tb Exp $ 1.\" $OpenBSD: evp.3,v 1.16 2023/08/14 14:46:40 schwarze Exp $
2.\" OpenSSL a9c85cea Nov 11 09:33:55 2016 +0100 2.\" full merge up to: OpenSSL man7/evp 24a535ea Sep 22 13:14:20 2020 +0100
3.\" 3.\"
4.\" This file was written by Ulf Moeller <ulf@openssl.org>, 4.\" This file was written by Ulf Moeller <ulf@openssl.org>,
5.\" Matt Caswell <matt@openssl.org>, Geoff Thorpe <geoff@openssl.org>, 5.\" Matt Caswell <matt@openssl.org>, Geoff Thorpe <geoff@openssl.org>,
@@ -51,16 +51,16 @@
51.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 51.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
52.\" OF THE POSSIBILITY OF SUCH DAMAGE. 52.\" OF THE POSSIBILITY OF SUCH DAMAGE.
53.\" 53.\"
54.Dd $Mdocdate: July 9 2023 $ 54.Dd $Mdocdate: August 14 2023 $
55.Dt EVP 3 55.Dt EVP 3
56.Os 56.Os
57.Sh NAME 57.Sh NAME
58.Nm evp 58.Nm evp
59.Nd high level cryptographic functions 59.Nd high-level cryptographic functions
60.Sh SYNOPSIS 60.Sh SYNOPSIS
61.In openssl/evp.h 61.In openssl/evp.h
62.Sh DESCRIPTION 62.Sh DESCRIPTION
63The EVP library provides a high level interface to cryptographic 63The EVP library provides a high-level interface to cryptographic
64functions. 64functions.
65.Pp 65.Pp
66.Xr EVP_SealInit 3 66.Xr EVP_SealInit 3
@@ -95,7 +95,7 @@ functions.
95.Pp 95.Pp
96The 96The
97.Fn EVP_PKEY_* 97.Fn EVP_PKEY_*
98functions provide a high level interface to asymmetric algorithms. 98functions provide a high-level interface to asymmetric algorithms.
99To create a new 99To create a new
100.Vt EVP_PKEY , 100.Vt EVP_PKEY ,
101see 101see
@@ -127,7 +127,7 @@ and
127.Xr EVP_PKEY_verify_recover 3 . 127.Xr EVP_PKEY_verify_recover 3 .
128However, note that these functions do not perform a digest of the 128However, note that these functions do not perform a digest of the
129data to be signed. 129data to be signed.
130Therefore normally you would use the 130Therefore, normally you would use the
131.Xr EVP_DigestSignInit 3 131.Xr EVP_DigestSignInit 3
132functions for this purpose. 132functions for this purpose.
133.It 133.It
@@ -169,45 +169,90 @@ implementations of ciphers or digests are registered as defaults,
169then the various EVP functions will automatically use those 169then the various EVP functions will automatically use those
170implementations in preference to built in software implementations. 170implementations in preference to built in software implementations.
171.Pp 171.Pp
172Although low level algorithm specific functions exist for many 172Although low-level algorithm specific functions exist for many
173algorithms, their use is discouraged. 173algorithms, their use is discouraged.
174They cannot be used with an 174They cannot be used with an
175.Vt ENGINE , 175.Vt ENGINE ,
176and 176and
177.Vt ENGINE 177.Vt ENGINE
178versions of new algorithms cannot be accessed using the low level 178versions of new algorithms cannot be accessed using the low-level
179functions. 179functions.
180Using them also makes code harder to adapt to new algorithms, some 180Using them also makes code harder to adapt to new algorithms, some
181options are not cleanly supported at the low level, and some 181options are not cleanly supported at the low level, and some
182operations are more efficient using the high level interfaces. 182operations are more efficient using the high-level interfaces.
183.Sh SEE ALSO 183.Sh SEE ALSO
184.Xr ASN1_item_digest 3 ,
185.Xr ASN1_item_sign 3 ,
186.Xr BIO_f_cipher 3 ,
187.Xr BIO_f_md 3 ,
188.Xr CMAC_Init 3 ,
189.Xr CMS_encrypt 3 ,
190.Xr CMS_sign 3 ,
184.Xr crypto 3 , 191.Xr crypto 3 ,
192.Xr d2i_PKCS8PrivateKey_bio 3 ,
193.Xr d2i_PrivateKey 3 ,
194.Xr ENGINE_get_cipher 3 ,
185.Xr ENGINE_register_RSA 3 , 195.Xr ENGINE_register_RSA 3 ,
186.Xr EVP_AEAD_CTX_init 3 , 196.Xr EVP_AEAD_CTX_init 3 ,
187.Xr EVP_aes_128_cbc 3 , 197.Xr EVP_aes_128_cbc 3 ,
188.Xr EVP_BytesToKey 3 , 198.Xr EVP_BytesToKey 3 ,
189.Xr EVP_camellia_128_cbc 3 , 199.Xr EVP_camellia_128_cbc 3 ,
200.Xr EVP_CIPHER_meth_new 3 ,
190.Xr EVP_des_cbc 3 , 201.Xr EVP_des_cbc 3 ,
191.Xr EVP_DigestInit 3 , 202.Xr EVP_DigestInit 3 ,
192.Xr EVP_DigestSignInit 3 , 203.Xr EVP_DigestSignInit 3 ,
204.Xr EVP_DigestVerifyInit 3 ,
193.Xr EVP_EncodeInit 3 , 205.Xr EVP_EncodeInit 3 ,
194.Xr EVP_EncryptInit 3 , 206.Xr EVP_EncryptInit 3 ,
195.Xr EVP_MD_meth_new 3 , 207.Xr EVP_MD_meth_new 3 ,
196.Xr EVP_OpenInit 3 , 208.Xr EVP_OpenInit 3 ,
209.Xr EVP_PKCS82PKEY 3 ,
210.Xr EVP_PKEY_add1_attr 3 ,
211.Xr EVP_PKEY_asn1_get_count 3 ,
212.Xr EVP_PKEY_asn1_new 3 ,
213.Xr EVP_PKEY_check 3 ,
214.Xr EVP_PKEY_cmp 3 ,
215.Xr EVP_PKEY_CTX_ctrl 3 ,
216.Xr EVP_PKEY_CTX_new 3 ,
217.Xr EVP_PKEY_CTX_set_hkdf_md 3 ,
197.Xr EVP_PKEY_decrypt 3 , 218.Xr EVP_PKEY_decrypt 3 ,
198.Xr EVP_PKEY_derive 3 , 219.Xr EVP_PKEY_derive 3 ,
199.Xr EVP_PKEY_encrypt 3 , 220.Xr EVP_PKEY_encrypt 3 ,
221.Xr EVP_PKEY_get_default_digest_nid 3 ,
200.Xr EVP_PKEY_keygen 3 , 222.Xr EVP_PKEY_keygen 3 ,
223.Xr EVP_PKEY_meth_get0_info 3 ,
224.Xr EVP_PKEY_meth_new 3 ,
201.Xr EVP_PKEY_new 3 , 225.Xr EVP_PKEY_new 3 ,
202.Xr EVP_PKEY_print_private 3 , 226.Xr EVP_PKEY_print_private 3 ,
203.Xr EVP_PKEY_set1_RSA 3 , 227.Xr EVP_PKEY_set1_RSA 3 ,
204.Xr EVP_PKEY_sign 3 , 228.Xr EVP_PKEY_sign 3 ,
229.Xr EVP_PKEY_size 3 ,
205.Xr EVP_PKEY_verify 3 , 230.Xr EVP_PKEY_verify 3 ,
206.Xr EVP_PKEY_verify_recover 3 , 231.Xr EVP_PKEY_verify_recover 3 ,
207.Xr EVP_rc4 3 , 232.Xr EVP_rc4 3 ,
208.Xr EVP_SealInit 3 , 233.Xr EVP_SealInit 3 ,
234.Xr EVP_sha3_224 3 ,
209.Xr EVP_SignInit 3 , 235.Xr EVP_SignInit 3 ,
210.Xr EVP_sm3 3 , 236.Xr EVP_sm3 3 ,
211.Xr EVP_sm4_cbc 3 , 237.Xr EVP_sm4_cbc 3 ,
212.Xr EVP_VerifyInit 3 , 238.Xr EVP_VerifyInit 3 ,
213.Xr EVP_whirlpool 3 239.Xr EVP_whirlpool 3 ,
240.Xr HMAC 3 ,
241.Xr OCSP_basic_sign 3 ,
242.Xr OCSP_request_sign 3 ,
243.Xr PEM_get_EVP_CIPHER_INFO 3 ,
244.Xr PEM_read_bio_PrivateKey 3 ,
245.Xr PKCS12_create 3 ,
246.Xr PKCS5_PBKDF2_HMAC 3 ,
247.Xr PKCS7_encrypt 3 ,
248.Xr PKCS7_sign 3 ,
249.Xr RSA_pkey_ctx_ctrl 3 ,
250.Xr SSL_CTX_set_tlsext_ticket_key_cb 3 ,
251.Xr X509_ALGOR_set_md 3 ,
252.Xr X509_check_private_key 3 ,
253.Xr X509_CRL_METHOD_new 3 ,
254.Xr X509_digest 3 ,
255.Xr X509_get_pubkey 3 ,
256.Xr X509_PUBKEY_set 3 ,
257.Xr X509_sign 3 ,
258.Xr X509_to_X509_REQ 3