summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/libcrypto/man/EVP_DigestSignInit.37
-rw-r--r--src/lib/libcrypto/man/EVP_DigestVerifyInit.37
-rw-r--r--src/lib/libcrypto/man/EVP_PKEY_CTX_ctrl.35
-rw-r--r--src/lib/libcrypto/man/EVP_PKEY_CTX_new.35
-rw-r--r--src/lib/libcrypto/man/EVP_PKEY_decrypt.33
-rw-r--r--src/lib/libcrypto/man/EVP_PKEY_derive.33
-rw-r--r--src/lib/libcrypto/man/EVP_PKEY_encrypt.35
-rw-r--r--src/lib/libcrypto/man/EVP_PKEY_keygen.33
-rw-r--r--src/lib/libcrypto/man/EVP_PKEY_meth_new.3525
-rw-r--r--src/lib/libcrypto/man/EVP_PKEY_sign.35
-rw-r--r--src/lib/libcrypto/man/EVP_PKEY_verify.33
-rw-r--r--src/lib/libcrypto/man/EVP_PKEY_verify_recover.33
-rw-r--r--src/lib/libcrypto/man/Makefile3
13 files changed, 557 insertions, 20 deletions
diff --git a/src/lib/libcrypto/man/EVP_DigestSignInit.3 b/src/lib/libcrypto/man/EVP_DigestSignInit.3
index 26a56cad2b..7665b21512 100644
--- a/src/lib/libcrypto/man/EVP_DigestSignInit.3
+++ b/src/lib/libcrypto/man/EVP_DigestSignInit.3
@@ -1,4 +1,4 @@
1.\" $OpenBSD: EVP_DigestSignInit.3,v 1.3 2016/11/26 17:38:55 schwarze Exp $ 1.\" $OpenBSD: EVP_DigestSignInit.3,v 1.4 2018/02/15 14:52:16 schwarze Exp $
2.\" OpenSSL 9b86974e Aug 17 15:21:33 2015 -0400 2.\" OpenSSL 9b86974e Aug 17 15:21:33 2015 -0400
3.\" 3.\"
4.\" This file was written by Dr. Stephen Henson <steve@openssl.org>. 4.\" This file was written by Dr. Stephen Henson <steve@openssl.org>.
@@ -49,7 +49,7 @@
49.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 49.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
50.\" OF THE POSSIBILITY OF SUCH DAMAGE. 50.\" OF THE POSSIBILITY OF SUCH DAMAGE.
51.\" 51.\"
52.Dd $Mdocdate: November 26 2016 $ 52.Dd $Mdocdate: February 15 2018 $
53.Dt EVP_DIGESTSIGNINIT 3 53.Dt EVP_DIGESTSIGNINIT 3
54.Os 54.Os
55.Sh NAME 55.Sh NAME
@@ -194,7 +194,8 @@ The error codes can be obtained from
194.Xr ERR 3 , 194.Xr ERR 3 ,
195.Xr evp 3 , 195.Xr evp 3 ,
196.Xr EVP_DigestInit 3 , 196.Xr EVP_DigestInit 3 ,
197.Xr EVP_DigestVerifyInit 3 197.Xr EVP_DigestVerifyInit 3 ,
198.Xr EVP_PKEY_meth_set_signctx 3
198.Sh HISTORY 199.Sh HISTORY
199.Fn EVP_DigestSignInit , 200.Fn EVP_DigestSignInit ,
200.Fn EVP_DigestSignUpdate , 201.Fn EVP_DigestSignUpdate ,
diff --git a/src/lib/libcrypto/man/EVP_DigestVerifyInit.3 b/src/lib/libcrypto/man/EVP_DigestVerifyInit.3
index e92b21fd4e..b4b4e4d974 100644
--- a/src/lib/libcrypto/man/EVP_DigestVerifyInit.3
+++ b/src/lib/libcrypto/man/EVP_DigestVerifyInit.3
@@ -1,4 +1,4 @@
1.\" $OpenBSD: EVP_DigestVerifyInit.3,v 1.3 2016/11/26 17:40:58 schwarze Exp $ 1.\" $OpenBSD: EVP_DigestVerifyInit.3,v 1.4 2018/02/15 14:52:16 schwarze Exp $
2.\" OpenSSL fb552ac6 Sep 30 23:43:01 2009 +0000 2.\" OpenSSL fb552ac6 Sep 30 23:43:01 2009 +0000
3.\" 3.\"
4.\" This file was written by Dr. Stephen Henson <steve@openssl.org>. 4.\" This file was written by Dr. Stephen Henson <steve@openssl.org>.
@@ -49,7 +49,7 @@
49.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 49.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
50.\" OF THE POSSIBILITY OF SUCH DAMAGE. 50.\" OF THE POSSIBILITY OF SUCH DAMAGE.
51.\" 51.\"
52.Dd $Mdocdate: November 26 2016 $ 52.Dd $Mdocdate: February 15 2018 $
53.Dt EVP_DIGESTVERIFYINIT 3 53.Dt EVP_DIGESTVERIFYINIT 3
54.Os 54.Os
55.Sh NAME 55.Sh NAME
@@ -175,7 +175,8 @@ The error codes can be obtained from
175.Xr ERR 3 , 175.Xr ERR 3 ,
176.Xr evp 3 , 176.Xr evp 3 ,
177.Xr EVP_DigestInit 3 , 177.Xr EVP_DigestInit 3 ,
178.Xr EVP_DigestSignInit 3 178.Xr EVP_DigestSignInit 3 ,
179.Xr EVP_PKEY_meth_set_verifyctx 3
179.Sh HISTORY 180.Sh HISTORY
180.Fn EVP_DigestVerifyInit , 181.Fn EVP_DigestVerifyInit ,
181.Fn EVP_DigestVerifyUpdate , 182.Fn EVP_DigestVerifyUpdate ,
diff --git a/src/lib/libcrypto/man/EVP_PKEY_CTX_ctrl.3 b/src/lib/libcrypto/man/EVP_PKEY_CTX_ctrl.3
index b65ea0d5d3..880cff4e0e 100644
--- a/src/lib/libcrypto/man/EVP_PKEY_CTX_ctrl.3
+++ b/src/lib/libcrypto/man/EVP_PKEY_CTX_ctrl.3
@@ -1,4 +1,4 @@
1.\" $OpenBSD: EVP_PKEY_CTX_ctrl.3,v 1.8 2017/08/28 17:41:59 jsing Exp $ 1.\" $OpenBSD: EVP_PKEY_CTX_ctrl.3,v 1.9 2018/02/15 14:52:16 schwarze Exp $
2.\" OpenSSL EVP_PKEY_CTX_ctrl.pod 1722496f Jun 8 15:18:38 2017 -0400 2.\" OpenSSL EVP_PKEY_CTX_ctrl.pod 1722496f Jun 8 15:18:38 2017 -0400
3.\" OpenSSL EVP_PKEY_CTX_ctrl.pod e03af178 Dec 11 17:05:57 2014 -0500 3.\" OpenSSL EVP_PKEY_CTX_ctrl.pod e03af178 Dec 11 17:05:57 2014 -0500
4.\" 4.\"
@@ -50,7 +50,7 @@
50.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 50.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
51.\" OF THE POSSIBILITY OF SUCH DAMAGE. 51.\" OF THE POSSIBILITY OF SUCH DAMAGE.
52.\" 52.\"
53.Dd $Mdocdate: August 28 2017 $ 53.Dd $Mdocdate: February 15 2018 $
54.Dt EVP_PKEY_CTX_CTRL 3 54.Dt EVP_PKEY_CTX_CTRL 3
55.Os 55.Os
56.Sh NAME 56.Sh NAME
@@ -284,6 +284,7 @@ supported by the public key algorithm.
284.Xr EVP_PKEY_encrypt 3 , 284.Xr EVP_PKEY_encrypt 3 ,
285.Xr EVP_PKEY_get_default_digest_nid 3 , 285.Xr EVP_PKEY_get_default_digest_nid 3 ,
286.Xr EVP_PKEY_keygen 3 , 286.Xr EVP_PKEY_keygen 3 ,
287.Xr EVP_PKEY_meth_set_ctrl 3 ,
287.Xr EVP_PKEY_sign 3 , 288.Xr EVP_PKEY_sign 3 ,
288.Xr EVP_PKEY_verify 3 , 289.Xr EVP_PKEY_verify 3 ,
289.Xr EVP_PKEY_verify_recover 3 290.Xr EVP_PKEY_verify_recover 3
diff --git a/src/lib/libcrypto/man/EVP_PKEY_CTX_new.3 b/src/lib/libcrypto/man/EVP_PKEY_CTX_new.3
index 72c0e36d5e..5c7a0eca58 100644
--- a/src/lib/libcrypto/man/EVP_PKEY_CTX_new.3
+++ b/src/lib/libcrypto/man/EVP_PKEY_CTX_new.3
@@ -1,4 +1,4 @@
1.\" $OpenBSD: EVP_PKEY_CTX_new.3,v 1.5 2017/04/10 17:45:06 schwarze Exp $ 1.\" $OpenBSD: EVP_PKEY_CTX_new.3,v 1.6 2018/02/15 14:52:16 schwarze Exp $
2.\" OpenSSL 99d63d46 Oct 26 13:56:48 2016 -0400 2.\" OpenSSL 99d63d46 Oct 26 13:56:48 2016 -0400
3.\" 3.\"
4.\" This file was written by Dr. Stephen Henson <steve@openssl.org>. 4.\" This file was written by Dr. Stephen Henson <steve@openssl.org>.
@@ -48,7 +48,7 @@
48.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 48.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
49.\" OF THE POSSIBILITY OF SUCH DAMAGE. 49.\" OF THE POSSIBILITY OF SUCH DAMAGE.
50.\" 50.\"
51.Dd $Mdocdate: April 10 2017 $ 51.Dd $Mdocdate: February 15 2018 $
52.Dt EVP_PKEY_CTX_NEW 3 52.Dt EVP_PKEY_CTX_NEW 3
53.Os 53.Os
54.Sh NAME 54.Sh NAME
@@ -123,6 +123,7 @@ structure or
123.Dv NULL 123.Dv NULL
124if an error occurred. 124if an error occurred.
125.Sh SEE ALSO 125.Sh SEE ALSO
126.Xr EVP_PKEY_meth_set_init 3 ,
126.Xr EVP_PKEY_new 3 , 127.Xr EVP_PKEY_new 3 ,
127.Xr X25519 3 128.Xr X25519 3
128.Sh HISTORY 129.Sh HISTORY
diff --git a/src/lib/libcrypto/man/EVP_PKEY_decrypt.3 b/src/lib/libcrypto/man/EVP_PKEY_decrypt.3
index afba8976f1..61a99dcb31 100644
--- a/src/lib/libcrypto/man/EVP_PKEY_decrypt.3
+++ b/src/lib/libcrypto/man/EVP_PKEY_decrypt.3
@@ -1,4 +1,4 @@
1.\" $OpenBSD: EVP_PKEY_decrypt.3,v 1.5 2018/02/15 12:52:37 schwarze Exp $ 1.\" $OpenBSD: EVP_PKEY_decrypt.3,v 1.6 2018/02/15 14:52:16 schwarze Exp $
2.\" full merge up to: OpenSSL 48e5119a Jan 19 10:49:22 2018 +0100 2.\" full merge up to: OpenSSL 48e5119a Jan 19 10:49:22 2018 +0100
3.\" 3.\"
4.\" This file was written by Dr. Stephen Henson <steve@openssl.org>. 4.\" This file was written by Dr. Stephen Henson <steve@openssl.org>.
@@ -165,6 +165,7 @@ if (EVP_PKEY_decrypt(ctx, out, &outlen, in, inlen) <= 0)
165.Xr EVP_PKEY_CTX_new 3 , 165.Xr EVP_PKEY_CTX_new 3 ,
166.Xr EVP_PKEY_derive 3 , 166.Xr EVP_PKEY_derive 3 ,
167.Xr EVP_PKEY_encrypt 3 , 167.Xr EVP_PKEY_encrypt 3 ,
168.Xr EVP_PKEY_meth_set_decrypt 3 ,
168.Xr EVP_PKEY_sign 3 , 169.Xr EVP_PKEY_sign 3 ,
169.Xr EVP_PKEY_verify 3 , 170.Xr EVP_PKEY_verify 3 ,
170.Xr EVP_PKEY_verify_recover 3 171.Xr EVP_PKEY_verify_recover 3
diff --git a/src/lib/libcrypto/man/EVP_PKEY_derive.3 b/src/lib/libcrypto/man/EVP_PKEY_derive.3
index 61fc1bced8..6649b43c33 100644
--- a/src/lib/libcrypto/man/EVP_PKEY_derive.3
+++ b/src/lib/libcrypto/man/EVP_PKEY_derive.3
@@ -1,4 +1,4 @@
1.\" $OpenBSD: EVP_PKEY_derive.3,v 1.6 2018/02/15 12:52:37 schwarze Exp $ 1.\" $OpenBSD: EVP_PKEY_derive.3,v 1.7 2018/02/15 14:52:16 schwarze Exp $
2.\" full merge up to: OpenSSL 48e5119a Jan 19 10:49:22 2018 +0100 2.\" full merge up to: OpenSSL 48e5119a Jan 19 10:49:22 2018 +0100
3.\" 3.\"
4.\" This file was written by Dr. Stephen Henson <steve@openssl.org>. 4.\" This file was written by Dr. Stephen Henson <steve@openssl.org>.
@@ -165,6 +165,7 @@ if (EVP_PKEY_derive(ctx, skey, &skeylen) <= 0)
165.Xr EVP_PKEY_CTX_new 3 , 165.Xr EVP_PKEY_CTX_new 3 ,
166.Xr EVP_PKEY_decrypt 3 , 166.Xr EVP_PKEY_decrypt 3 ,
167.Xr EVP_PKEY_encrypt 3 , 167.Xr EVP_PKEY_encrypt 3 ,
168.Xr EVP_PKEY_meth_set_derive 3 ,
168.Xr EVP_PKEY_sign 3 , 169.Xr EVP_PKEY_sign 3 ,
169.Xr EVP_PKEY_verify 3 , 170.Xr EVP_PKEY_verify 3 ,
170.Xr EVP_PKEY_verify_recover 3 , 171.Xr EVP_PKEY_verify_recover 3 ,
diff --git a/src/lib/libcrypto/man/EVP_PKEY_encrypt.3 b/src/lib/libcrypto/man/EVP_PKEY_encrypt.3
index 7309c3478b..d24d5a80fa 100644
--- a/src/lib/libcrypto/man/EVP_PKEY_encrypt.3
+++ b/src/lib/libcrypto/man/EVP_PKEY_encrypt.3
@@ -1,4 +1,4 @@
1.\" $OpenBSD: EVP_PKEY_encrypt.3,v 1.4 2016/11/27 15:23:29 schwarze Exp $ 1.\" $OpenBSD: EVP_PKEY_encrypt.3,v 1.5 2018/02/15 14:52:16 schwarze Exp $
2.\" OpenSSL b97fdb57 Nov 11 09:33:09 2016 +0100 2.\" OpenSSL b97fdb57 Nov 11 09:33:09 2016 +0100
3.\" 3.\"
4.\" This file was written by Dr. Stephen Henson <steve@openssl.org>. 4.\" This file was written by Dr. Stephen Henson <steve@openssl.org>.
@@ -49,7 +49,7 @@
49.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 49.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
50.\" OF THE POSSIBILITY OF SUCH DAMAGE. 50.\" OF THE POSSIBILITY OF SUCH DAMAGE.
51.\" 51.\"
52.Dd $Mdocdate: November 27 2016 $ 52.Dd $Mdocdate: February 15 2018 $
53.Dt EVP_PKEY_ENCRYPT 3 53.Dt EVP_PKEY_ENCRYPT 3
54.Os 54.Os
55.Sh NAME 55.Sh NAME
@@ -172,6 +172,7 @@ if (EVP_PKEY_encrypt(ctx, out, &outlen, in, inlen) <= 0)
172.Xr EVP_PKEY_CTX_new 3 , 172.Xr EVP_PKEY_CTX_new 3 ,
173.Xr EVP_PKEY_decrypt 3 , 173.Xr EVP_PKEY_decrypt 3 ,
174.Xr EVP_PKEY_derive 3 , 174.Xr EVP_PKEY_derive 3 ,
175.Xr EVP_PKEY_meth_set_encrypt 3 ,
175.Xr EVP_PKEY_sign 3 , 176.Xr EVP_PKEY_sign 3 ,
176.Xr EVP_PKEY_verify 3 , 177.Xr EVP_PKEY_verify 3 ,
177.Xr EVP_PKEY_verify_recover 3 178.Xr EVP_PKEY_verify_recover 3
diff --git a/src/lib/libcrypto/man/EVP_PKEY_keygen.3 b/src/lib/libcrypto/man/EVP_PKEY_keygen.3
index ded45b3302..523363aa34 100644
--- a/src/lib/libcrypto/man/EVP_PKEY_keygen.3
+++ b/src/lib/libcrypto/man/EVP_PKEY_keygen.3
@@ -1,4 +1,4 @@
1.\" $OpenBSD: EVP_PKEY_keygen.3,v 1.7 2018/02/15 12:52:37 schwarze Exp $ 1.\" $OpenBSD: EVP_PKEY_keygen.3,v 1.8 2018/02/15 14:52:16 schwarze Exp $
2.\" full merge up to: OpenSSL e9b77246 Jan 20 19:58:49 2017 +0100 2.\" full merge up to: OpenSSL e9b77246 Jan 20 19:58:49 2017 +0100
3.\" selective merge up to: OpenSSL 48e5119a Jan 19 10:49:22 2018 +0100 3.\" selective merge up to: OpenSSL 48e5119a Jan 19 10:49:22 2018 +0100
4.\" 4.\"
@@ -284,6 +284,7 @@ genpkey_cb(EVP_PKEY_CTX *ctx)
284.Xr EVP_PKEY_decrypt 3 , 284.Xr EVP_PKEY_decrypt 3 ,
285.Xr EVP_PKEY_derive 3 , 285.Xr EVP_PKEY_derive 3 ,
286.Xr EVP_PKEY_encrypt 3 , 286.Xr EVP_PKEY_encrypt 3 ,
287.Xr EVP_PKEY_meth_set_keygen 3 ,
287.Xr EVP_PKEY_sign 3 , 288.Xr EVP_PKEY_sign 3 ,
288.Xr EVP_PKEY_verify 3 , 289.Xr EVP_PKEY_verify 3 ,
289.Xr EVP_PKEY_verify_recover 3 , 290.Xr EVP_PKEY_verify_recover 3 ,
diff --git a/src/lib/libcrypto/man/EVP_PKEY_meth_new.3 b/src/lib/libcrypto/man/EVP_PKEY_meth_new.3
new file mode 100644
index 0000000000..8d77661608
--- /dev/null
+++ b/src/lib/libcrypto/man/EVP_PKEY_meth_new.3
@@ -0,0 +1,525 @@
1.\" $OpenBSD: EVP_PKEY_meth_new.3,v 1.1 2018/02/15 14:52:16 schwarze Exp $
2.\" selective merge up to: OpenSSL 43f985fd Aug 21 11:47:17 2017 -0400
3.\"
4.\" This file was written by Paul Yang <yang.yang@baishancloud.com>
5.\" Copyright (c) 2017 The OpenSSL Project. All rights reserved.
6.\"
7.\" Redistribution and use in source and binary forms, with or without
8.\" modification, are permitted provided that the following conditions
9.\" are met:
10.\"
11.\" 1. Redistributions of source code must retain the above copyright
12.\" notice, this list of conditions and the following disclaimer.
13.\"
14.\" 2. Redistributions in binary form must reproduce the above copyright
15.\" notice, this list of conditions and the following disclaimer in
16.\" the documentation and/or other materials provided with the
17.\" distribution.
18.\"
19.\" 3. All advertising materials mentioning features or use of this
20.\" software must display the following acknowledgment:
21.\" "This product includes software developed by the OpenSSL Project
22.\" for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
23.\"
24.\" 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
25.\" endorse or promote products derived from this software without
26.\" prior written permission. For written permission, please contact
27.\" openssl-core@openssl.org.
28.\"
29.\" 5. Products derived from this software may not be called "OpenSSL"
30.\" nor may "OpenSSL" appear in their names without prior written
31.\" permission of the OpenSSL Project.
32.\"
33.\" 6. Redistributions of any form whatsoever must retain the following
34.\" acknowledgment:
35.\" "This product includes software developed by the OpenSSL Project
36.\" for use in the OpenSSL Toolkit (http://www.openssl.org/)"
37.\"
38.\" THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
39.\" EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
40.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
41.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
42.\" ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
43.\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
44.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
45.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
46.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
47.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
48.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
49.\" OF THE POSSIBILITY OF SUCH DAMAGE.
50.\"
51.Dd $Mdocdate: February 15 2018 $
52.Dt EVP_PKEY_METH_NEW 3
53.Os
54.Sh NAME
55.Nm EVP_PKEY_meth_new ,
56.Nm EVP_PKEY_meth_free ,
57.Nm EVP_PKEY_meth_copy ,
58.Nm EVP_PKEY_meth_find ,
59.Nm EVP_PKEY_meth_add0 ,
60.Nm EVP_PKEY_meth_set_init ,
61.Nm EVP_PKEY_meth_set_copy ,
62.Nm EVP_PKEY_meth_set_cleanup ,
63.Nm EVP_PKEY_meth_set_paramgen ,
64.Nm EVP_PKEY_meth_set_keygen ,
65.Nm EVP_PKEY_meth_set_sign ,
66.Nm EVP_PKEY_meth_set_verify ,
67.Nm EVP_PKEY_meth_set_verify_recover ,
68.Nm EVP_PKEY_meth_set_signctx ,
69.Nm EVP_PKEY_meth_set_verifyctx ,
70.Nm EVP_PKEY_meth_set_encrypt ,
71.Nm EVP_PKEY_meth_set_decrypt ,
72.Nm EVP_PKEY_meth_set_derive ,
73.Nm EVP_PKEY_meth_set_ctrl
74.Nd manipulate an EVP_PKEY_METHOD structure
75.Sh SYNOPSIS
76.In openssl/evp.h
77.Ft EVP_PKEY_METHOD *
78.Fo EVP_PKEY_meth_new
79.Fa "int id"
80.Fa "int flags"
81.Fc
82.Ft void
83.Fo EVP_PKEY_meth_free
84.Fa "EVP_PKEY_METHOD *pmeth"
85.Fc
86.Ft void
87.Fo EVP_PKEY_meth_copy
88.Fa "EVP_PKEY_METHOD *dst"
89.Fa "const EVP_PKEY_METHOD *src"
90.Fc
91.Ft const EVP_PKEY_METHOD *
92.Fo EVP_PKEY_meth_find
93.Fa "int type"
94.Fc
95.Ft int
96.Fo EVP_PKEY_meth_add0
97.Fa "const EVP_PKEY_METHOD *pmeth"
98.Fc
99.Ft void
100.Fo EVP_PKEY_meth_set_init
101.Fa "EVP_PKEY_METHOD *pmeth"
102.Fa "int (*init)(EVP_PKEY_CTX *ctx)"
103.Fc
104.Ft void
105.Fo EVP_PKEY_meth_set_copy
106.Fa "EVP_PKEY_METHOD *pmeth"
107.Fa "int (*copy)(EVP_PKEY_CTX *dst, EVP_PKEY_CTX *src)"
108.Fc
109.Ft void
110.Fo EVP_PKEY_meth_set_cleanup
111.Fa "EVP_PKEY_METHOD *pmeth"
112.Fa "void (*cleanup)(EVP_PKEY_CTX *ctx)"
113.Fc
114.Ft void
115.Fo EVP_PKEY_meth_set_paramgen
116.Fa "EVP_PKEY_METHOD *pmeth"
117.Fa "int (*paramgen_init)(EVP_PKEY_CTX *ctx)"
118.Fa "int (*paramgen)(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey)"
119.Fc
120.Ft void
121.Fo EVP_PKEY_meth_set_keygen
122.Fa "EVP_PKEY_METHOD *pmeth"
123.Fa "int (*keygen_init)(EVP_PKEY_CTX *ctx)"
124.Fa "int (*keygen)(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey)"
125.Fc
126.Ft void
127.Fo EVP_PKEY_meth_set_sign
128.Fa "EVP_PKEY_METHOD *pmeth"
129.Fa "int (*sign_init)(EVP_PKEY_CTX *ctx)"
130.Fa "int (*sign)(EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen,\
131 const unsigned char *tbs, size_t tbslen)"
132.Fc
133.Ft void
134.Fo EVP_PKEY_meth_set_verify
135.Fa "EVP_PKEY_METHOD *pmeth"
136.Fa "int (*verify_init)(EVP_PKEY_CTX *ctx)"
137.Fa "int (*verify)(EVP_PKEY_CTX *ctx, const unsigned char *sig,\
138 size_t siglen, const unsigned char *tbs, size_t tbslen)"
139.Fc
140.Ft void
141.Fo EVP_PKEY_meth_set_verify_recover
142.Fa "EVP_PKEY_METHOD *pmeth"
143.Fa "int (*verify_recover_init)(EVP_PKEY_CTX *ctx)"
144.Fa "int (*verify_recover)(EVP_PKEY_CTX *ctx, unsigned char *sig,\
145 size_t *siglen, const unsigned char *tbs, size_t tbslen)"
146.Fc
147.Ft void
148.Fo EVP_PKEY_meth_set_signctx
149.Fa "EVP_PKEY_METHOD *pmeth"
150.Fa "int (*signctx_init)(EVP_PKEY_CTX *ctx, EVP_MD_CTX *mctx)"
151.Fa "int (*signctx)(EVP_PKEY_CTX *ctx, unsigned char *sig,\
152 size_t *siglen, EVP_MD_CTX *mctx)"
153.Fc
154.Ft void
155.Fo EVP_PKEY_meth_set_verifyctx
156.Fa "EVP_PKEY_METHOD *pmeth"
157.Fa "int (*verifyctx_init)(EVP_PKEY_CTX *ctx, EVP_MD_CTX *mctx)"
158.Fa "int (*verifyctx)(EVP_PKEY_CTX *ctx, const unsigned char *sig,\
159 int siglen, EVP_MD_CTX *mctx)"
160.Fc
161.Ft void
162.Fo EVP_PKEY_meth_set_encrypt
163.Fa "EVP_PKEY_METHOD *pmeth"
164.Fa "int (*encrypt_init)(EVP_PKEY_CTX *ctx)"
165.Fa "int (*encryptfn)(EVP_PKEY_CTX *ctx, unsigned char *out,\
166 size_t *outlen, const unsigned char *in, size_t inlen)"
167.Fc
168.Ft void
169.Fo EVP_PKEY_meth_set_decrypt
170.Fa "EVP_PKEY_METHOD *pmeth"
171.Fa "int (*decrypt_init)(EVP_PKEY_CTX *ctx)"
172.Fa "int (*decrypt)(EVP_PKEY_CTX *ctx, unsigned char *out,\
173 size_t *outlen, const unsigned char *in, size_t inlen)"
174.Fc
175.Ft void
176.Fo EVP_PKEY_meth_set_derive
177.Fa "EVP_PKEY_METHOD *pmeth"
178.Fa "int (*derive_init)(EVP_PKEY_CTX *ctx)"
179.Fa "int (*derive)(EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen)"
180.Fc
181.Ft void
182.Fo EVP_PKEY_meth_set_ctrl
183.Fa "EVP_PKEY_METHOD *pmeth"
184.Fa "int (*ctrl)(EVP_PKEY_CTX *ctx, int type, int p1, void *p2)"
185.Fa "int (*ctrl_str)(EVP_PKEY_CTX *ctx, const char *type, const char *value)"
186.Fc
187.Sh DESCRIPTION
188The
189.Vt EVP_PKEY_METHOD
190structure holds a set of methods
191for a specific public key cryptographic algorithm.
192Those methods perform tasks such as generating keys, signing, verifying,
193encrypting, decrypting, and so on.
194.Pp
195There are two places where the
196.Vt EVP_PKEY_METHOD
197objects are stored: one is a built-in static array representing the
198standard methods for different algorithms, and the other one is a stack
199of user-defined application-specific methods, which can be manipulated
200with
201.Fn EVP_PKEY_meth_add0 .
202.Pp
203The
204.Vt EVP_PKEY_METHOD
205objects are usually referenced by
206.Vt EVP_PKEY_CTX
207objects.
208.Ss Methods
209The methods implement the particular public key algorithm represented by the
210.Vt EVP_PKEY_CTX
211object.
212.Bd -unfilled
213.Ft int Fn (*init) "EVP_PKEY_CTX *ctx"
214.Ft int Fn (*copy) "EVP_PKEY_CTX *dst" "EVP_PKEY_CTX *src"
215.Ft void Fn (*cleanup) "EVP_PKEY_CTX *ctx"
216.Ed
217.Pp
218The
219.Fn init
220method is called by
221.Xr EVP_PKEY_CTX_new 3
222and
223.Xr EVP_PKEY_CTX_new_id 3
224to initialize the algorithm-specific data when a new
225.Vt EVP_PKEY_CTX
226is created.
227The
228.Fn cleanup
229method is called by
230.Xr EVP_PKEY_CTX_free 3
231when an
232.Vt EVP_PKEY_CTX
233is freed.
234The
235.Fn copy
236method is called by
237.Xr EVP_PKEY_CTX_dup 3
238when an
239.Vt EVP_PKEY_CTX
240is duplicated.
241.Bd -unfilled
242.Ft int Fn (*paramgen_init) "EVP_PKEY_CTX *ctx"
243.Ft int Fn (*paramgen) "EVP_PKEY_CTX *ctx" "EVP_PKEY *pkey"
244.Ed
245.Pp
246The
247.Fn paramgen_init
248and
249.Fn paramgen
250methods deal with key parameter generation.
251They are called by
252.Xr EVP_PKEY_paramgen_init 3
253and
254.Xr EVP_PKEY_paramgen 3
255to handle the parameter generation process.
256.Bd -unfilled
257.Ft int Fn (*keygen_init) "EVP_PKEY_CTX *ctx"
258.Ft int Fn (*keygen) "EVP_PKEY_CTX *ctx" "EVP_PKEY *pkey"
259.Ed
260.Pp
261The
262.Fn keygen_init
263and
264.Fn keygen
265methods are used to generate a key for the specified algorithm.
266They are called by
267.Xr EVP_PKEY_keygen_init 3
268and
269.Xr EVP_PKEY_keygen 3 .
270.Bd -unfilled
271.Ft int Fn (*sign_init) "EVP_PKEY_CTX *ctx"
272.Ft int Fo (*sign)
273.Fa "EVP_PKEY_CTX *ctx"
274.Fa "unsigned char *sig"
275.Fa "size_t *siglen"
276.Fa "const unsigned char *tbs"
277.Fa "size_t tbslen"
278.Fc
279.Ed
280.Pp
281The
282.Fn sign_init
283and
284.Fn sign
285methods are used to generate the signature of a piece of data using a
286private key.
287They are called by
288.Xr EVP_PKEY_sign_init 3
289and
290.Xr EVP_PKEY_sign 3 .
291.Bd -unfilled
292.Ft int Fn (*verify_init) "EVP_PKEY_CTX *ctx"
293.Ft int Fo (*verify)
294.Fa "EVP_PKEY_CTX *ctx"
295.Fa "const unsigned char *sig"
296.Fa "size_t siglen"
297.Fa "const unsigned char *tbs"
298.Fa "size_t tbslen"
299.Fc
300.Ed
301.Pp
302The
303.Fn verify_init
304and
305.Fn verify
306methods are used to verify whether a signature is valid.
307They are called by
308.Xr EVP_PKEY_verify_init 3
309and
310.Xr EVP_PKEY_verify 3 .
311.Bd -unfilled
312.Ft int Fn (*verify_recover_init) "EVP_PKEY_CTX *ctx"
313.Ft int Fo (*verify_recover)
314.Fa "EVP_PKEY_CTX *ctx"
315.Fa "unsigned char *rout"
316.Fa "size_t *routlen"
317.Fa "const unsigned char *sig"
318.Fa "size_t siglen"
319.Fc
320.Ed
321.Pp
322The
323.Fn verify_recover_init
324and
325.Fn verify_recover
326methods are used to verify a signature and then recover the digest from
327the signature (for instance, a signature that was generated by the RSA
328signing algorithm).
329They are called by
330.Xr EVP_PKEY_verify_recover_init 3
331and
332.Xr EVP_PKEY_verify_recover 3 .
333.Bd -unfilled
334.Ft int Fn (*signctx_init) "EVP_PKEY_CTX *ctx" "EVP_MD_CTX *mctx"
335.Ft int Fo (*signctx)
336.Fa "EVP_PKEY_CTX *ctx"
337.Fa "unsigned char *sig"
338.Fa "size_t *siglen"
339.Fa "EVP_MD_CTX *mctx"
340.Fc
341.Ed
342.Pp
343The
344.Fn signctx_init
345and
346.Fn signctx
347methods are used to sign a digest represented by an
348.Vt EVP_MD_CTX
349object.
350They are called by the
351.Xr EVP_DigestSignInit 3
352functions.
353.Bd -unfilled
354.Ft int Fn (*verifyctx_init) "EVP_PKEY_CTX *ctx" "EVP_MD_CTX *mctx"
355.Ft int Fo (*verifyctx)
356.Fa "EVP_PKEY_CTX *ctx"
357.Fa "const unsigned char *sig"
358.Fa "int siglen"
359.Fa "EVP_MD_CTX *mctx"
360.Fc
361.Ed
362.Pp
363The
364.Fn verifyctx_init
365and
366.Fn verifyctx
367methods are used to verify a signature against the data in an
368.Vt EVP_MD_CTX
369object.
370They are called by the
371.Xr EVP_DigestVerifyInit 3
372functions.
373.Bd -unfilled
374.Ft int Fn (*encrypt_init) "EVP_PKEY_CTX *ctx"
375.Ft int Fo (*encrypt)
376.Fa "EVP_PKEY_CTX *ctx"
377.Fa "unsigned char *out"
378.Fa "size_t *outlen"
379.Fa "const unsigned char *in"
380.Fa "size_t inlen"
381.Fc
382.Ed
383.Pp
384The
385.Fn encrypt_init
386and
387.Fn encrypt
388methods are used to encrypt a piece of data.
389They are called by
390.Xr EVP_PKEY_encrypt_init 3
391and
392.Xr EVP_PKEY_encrypt 3 .
393.Bd -unfilled
394.Ft int Fn (*decrypt_init) "EVP_PKEY_CTX *ctx"
395.Ft int Fo (*decrypt)
396.Fa "EVP_PKEY_CTX *ctx"
397.Fa "unsigned char *out"
398.Fa "size_t *outlen"
399.Fa "const unsigned char *in"
400.Fa "size_t inlen"
401.Fc
402.Ed
403.Pp
404The
405.Fn decrypt_init
406and
407.Fn decrypt
408methods are used to decrypt a piece of data.
409They are called by
410.Xr EVP_PKEY_decrypt_init 3
411and
412.Xr EVP_PKEY_decrypt 3 .
413.Bd -unfilled
414.Ft int Fn (*derive_init) "EVP_PKEY_CTX *ctx"
415.Ft int Fo (*derive)
416.Fa "EVP_PKEY_CTX *ctx"
417.Fa "unsigned char *key"
418.Fa "size_t *keylen"
419.Fc
420.Ed
421.Pp
422The
423.Fn derive_init
424and
425.Fn derive
426methods are used to derive the shared secret from a public key algorithm
427(for instance, the DH algorithm).
428They are called by
429.Xr EVP_PKEY_derive_init 3
430and
431.Xr EVP_PKEY_derive 3 .
432.Bd -unfilled
433.Ft int Fo (*ctrl)
434.Fa "EVP_PKEY_CTX *ctx"
435.Fa "int type"
436.Fa "int p1"
437.Fa "void *p2"
438.Fc
439.Ft int Fo (*ctrl_str)
440.Fa "EVP_PKEY_CTX *ctx"
441.Fa "const char *type"
442.Fa "const char *value"
443.Fc
444.Ed
445.Pp
446The
447.Fn ctrl
448and
449.Fn ctrl_str
450methods are used to adjust algorithm-specific settings.
451See
452.Xr EVP_PKEY_CTX_ctrl 3
453for details.
454.Ss Functions
455.Fn EVP_PKEY_meth_new
456creates a new
457.Vt EVP_PKEY_METHOD
458object with the given
459.Fa id
460and
461.Fa flags .
462The following flags are supported:
463.Bl -tag -width Ds
464.It Dv EVP_PKEY_FLAG_AUTOARGLEN
465Automatically calculate the maximum size of the output buffer
466in corresponding EVP methods by the EVP framework.
467Thus the implementations of these methods don't need to care about
468handling the case of returning output buffer size by themselves.
469For details on the output buffer size, refer to
470.Xr EVP_PKEY_sign 3 .
471.It Dv EVP_PKEY_FLAG_SIGCTX_CUSTOM
472Indicate that the
473.Fn signctx
474method of an
475.Vt EVP_PKEY_METHOD
476is always called by the EVP framework while doing a digest signing
477operation by calling
478.Xr EVP_DigestSignFinal 3 .
479.El
480.Pp
481.Fn EVP_PKEY_meth_free
482frees
483.Fa pmeth .
484.Pp
485.Fn EVP_PKEY_meth_copy
486copies
487.Fa src
488to
489.Fa dst .
490.Pp
491.Fn EVP_PKEY_meth_find
492finds an
493.Vt EVP_PKEY_METHOD
494object with the given
495.Fa id .
496This function first searches through the user-defined method objects and
497then through the built-in objects.
498.Pp
499.Fn EVP_PKEY_meth_add0
500adds
501.Fa pmeth
502to the stack of user defined methods.
503.Pp
504The
505.Fn EVP_PKEY_meth_set_*
506functions set the corresponding fields of
507.Fa pmeth
508to the arguments passed.
509.Sh RETURN VALUES
510.Fn EVP_PKEY_meth_new
511returns a pointer to a new
512.Vt EVP_PKEY_METHOD
513object or
514.Dv NULL
515on error.
516.Pp
517.Fn EVP_PKEY_meth_find
518returns a pointer to the found
519.Vt EVP_PKEY_METHOD
520object or
521.Dv NULL
522if no matching object is found.
523.Pp
524.Fn EVP_PKEY_meth_add0
525returns 1 if the method is added successfully or 0 if an error occurred.
diff --git a/src/lib/libcrypto/man/EVP_PKEY_sign.3 b/src/lib/libcrypto/man/EVP_PKEY_sign.3
index d7812186f3..cb16e00c77 100644
--- a/src/lib/libcrypto/man/EVP_PKEY_sign.3
+++ b/src/lib/libcrypto/man/EVP_PKEY_sign.3
@@ -1,4 +1,4 @@
1.\" $OpenBSD: EVP_PKEY_sign.3,v 1.5 2017/01/06 02:43:14 schwarze Exp $ 1.\" $OpenBSD: EVP_PKEY_sign.3,v 1.6 2018/02/15 14:52:16 schwarze Exp $
2.\" OpenSSL 99d63d46 Oct 26 13:56:48 2016 -0400 2.\" OpenSSL 99d63d46 Oct 26 13:56:48 2016 -0400
3.\" 3.\"
4.\" This file was written by Dr. Stephen Henson <steve@openssl.org>. 4.\" This file was written by Dr. Stephen Henson <steve@openssl.org>.
@@ -49,7 +49,7 @@
49.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 49.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
50.\" OF THE POSSIBILITY OF SUCH DAMAGE. 50.\" OF THE POSSIBILITY OF SUCH DAMAGE.
51.\" 51.\"
52.Dd $Mdocdate: January 6 2017 $ 52.Dd $Mdocdate: February 15 2018 $
53.Dt EVP_PKEY_SIGN 3 53.Dt EVP_PKEY_SIGN 3
54.Os 54.Os
55.Sh NAME 55.Sh NAME
@@ -180,6 +180,7 @@ if (EVP_PKEY_sign(ctx, sig, &siglen, md, mdlen) <= 0)
180.Xr EVP_PKEY_decrypt 3 , 180.Xr EVP_PKEY_decrypt 3 ,
181.Xr EVP_PKEY_derive 3 , 181.Xr EVP_PKEY_derive 3 ,
182.Xr EVP_PKEY_encrypt 3 , 182.Xr EVP_PKEY_encrypt 3 ,
183.Xr EVP_PKEY_meth_set_sign 3 ,
183.Xr EVP_PKEY_verify 3 , 184.Xr EVP_PKEY_verify 3 ,
184.Xr EVP_PKEY_verify_recover 3 185.Xr EVP_PKEY_verify_recover 3
185.Sh HISTORY 186.Sh HISTORY
diff --git a/src/lib/libcrypto/man/EVP_PKEY_verify.3 b/src/lib/libcrypto/man/EVP_PKEY_verify.3
index 97c0a68cd8..0ee9f271a5 100644
--- a/src/lib/libcrypto/man/EVP_PKEY_verify.3
+++ b/src/lib/libcrypto/man/EVP_PKEY_verify.3
@@ -1,4 +1,4 @@
1.\" $OpenBSD: EVP_PKEY_verify.3,v 1.5 2018/02/15 12:52:37 schwarze Exp $ 1.\" $OpenBSD: EVP_PKEY_verify.3,v 1.6 2018/02/15 14:52:16 schwarze Exp $
2.\" full merge up to: OpenSSL 48e5119a Jan 19 10:49:22 2018 +0100 2.\" full merge up to: OpenSSL 48e5119a Jan 19 10:49:22 2018 +0100
3.\" 3.\"
4.\" This file was written by Dr. Stephen Henson <steve@openssl.org>. 4.\" This file was written by Dr. Stephen Henson <steve@openssl.org>.
@@ -157,6 +157,7 @@ ret = EVP_PKEY_verify(ctx, sig, siglen, md, mdlen);
157.Xr EVP_PKEY_decrypt 3 , 157.Xr EVP_PKEY_decrypt 3 ,
158.Xr EVP_PKEY_derive 3 , 158.Xr EVP_PKEY_derive 3 ,
159.Xr EVP_PKEY_encrypt 3 , 159.Xr EVP_PKEY_encrypt 3 ,
160.Xr EVP_PKEY_meth_set_verify 3 ,
160.Xr EVP_PKEY_sign 3 , 161.Xr EVP_PKEY_sign 3 ,
161.Xr EVP_PKEY_verify_recover 3 162.Xr EVP_PKEY_verify_recover 3
162.Sh HISTORY 163.Sh HISTORY
diff --git a/src/lib/libcrypto/man/EVP_PKEY_verify_recover.3 b/src/lib/libcrypto/man/EVP_PKEY_verify_recover.3
index c453aa747e..75df64134c 100644
--- a/src/lib/libcrypto/man/EVP_PKEY_verify_recover.3
+++ b/src/lib/libcrypto/man/EVP_PKEY_verify_recover.3
@@ -1,4 +1,4 @@
1.\" $OpenBSD: EVP_PKEY_verify_recover.3,v 1.7 2018/02/15 12:52:37 schwarze Exp $ 1.\" $OpenBSD: EVP_PKEY_verify_recover.3,v 1.8 2018/02/15 14:52:16 schwarze Exp $
2.\" full merge up to: OpenSSL 48e5119a Jan 19 10:49:22 2018 +0100 2.\" full merge up to: OpenSSL 48e5119a Jan 19 10:49:22 2018 +0100
3.\" 3.\"
4.\" This file was written by Dr. Stephen Henson <steve@openssl.org>. 4.\" This file was written by Dr. Stephen Henson <steve@openssl.org>.
@@ -178,6 +178,7 @@ if (EVP_PKEY_verify_recover(ctx, rout, &routlen, sig, siglen) <= 0)
178.Xr EVP_PKEY_decrypt 3 , 178.Xr EVP_PKEY_decrypt 3 ,
179.Xr EVP_PKEY_derive 3 , 179.Xr EVP_PKEY_derive 3 ,
180.Xr EVP_PKEY_encrypt 3 , 180.Xr EVP_PKEY_encrypt 3 ,
181.Xr EVP_PKEY_meth_set_verify_recover 3 ,
181.Xr EVP_PKEY_sign 3 , 182.Xr EVP_PKEY_sign 3 ,
182.Xr EVP_PKEY_verify 3 183.Xr EVP_PKEY_verify 3
183.Sh HISTORY 184.Sh HISTORY
diff --git a/src/lib/libcrypto/man/Makefile b/src/lib/libcrypto/man/Makefile
index 606f346588..7043c8397b 100644
--- a/src/lib/libcrypto/man/Makefile
+++ b/src/lib/libcrypto/man/Makefile
@@ -1,4 +1,4 @@
1# $OpenBSD: Makefile,v 1.128 2018/02/15 12:09:55 schwarze Exp $ 1# $OpenBSD: Makefile,v 1.129 2018/02/15 14:52:16 schwarze Exp $
2 2
3.include <bsd.own.mk> 3.include <bsd.own.mk>
4 4
@@ -124,6 +124,7 @@ MAN= \
124 EVP_PKEY_get_default_digest_nid.3 \ 124 EVP_PKEY_get_default_digest_nid.3 \
125 EVP_PKEY_keygen.3 \ 125 EVP_PKEY_keygen.3 \
126 EVP_PKEY_meth_get0_info.3 \ 126 EVP_PKEY_meth_get0_info.3 \
127 EVP_PKEY_meth_new.3 \
127 EVP_PKEY_new.3 \ 128 EVP_PKEY_new.3 \
128 EVP_PKEY_print_private.3 \ 129 EVP_PKEY_print_private.3 \
129 EVP_PKEY_set1_RSA.3 \ 130 EVP_PKEY_set1_RSA.3 \