summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorschwarze <>2023-09-09 14:39:09 +0000
committerschwarze <>2023-09-09 14:39:09 +0000
commit52f8442e5af4b47901cdfc0c25e16c35ef2185f9 (patch)
tree974017f54ef0744f0a02eab7254b4052e92370de /src
parentb3e258f679b8c2c266d39a7d84dd6e3c42b2698d (diff)
downloadopenbsd-52f8442e5af4b47901cdfc0c25e16c35ef2185f9.tar.gz
openbsd-52f8442e5af4b47901cdfc0c25e16c35ef2185f9.tar.bz2
openbsd-52f8442e5af4b47901cdfc0c25e16c35ef2185f9.zip
new manual page EVP_PKEY_CTX_get_operation(3),
also documenting EVP_PKEY_CTX_get0_pkey(3)
Diffstat (limited to 'src')
-rw-r--r--src/lib/libcrypto/man/EVP_PKEY_CTX_get_operation.3118
-rw-r--r--src/lib/libcrypto/man/EVP_PKEY_CTX_new.36
-rw-r--r--src/lib/libcrypto/man/Makefile3
-rw-r--r--src/lib/libcrypto/man/evp.35
4 files changed, 127 insertions, 5 deletions
diff --git a/src/lib/libcrypto/man/EVP_PKEY_CTX_get_operation.3 b/src/lib/libcrypto/man/EVP_PKEY_CTX_get_operation.3
new file mode 100644
index 0000000000..b6e7275b5a
--- /dev/null
+++ b/src/lib/libcrypto/man/EVP_PKEY_CTX_get_operation.3
@@ -0,0 +1,118 @@
1.\" $OpenBSD: EVP_PKEY_CTX_get_operation.3,v 1.1 2023/09/09 14:39:09 schwarze Exp $
2.\"
3.\" Copyright (c) 2023 Ingo Schwarze <schwarze@openbsd.org>
4.\"
5.\" Permission to use, copy, modify, and distribute this software for any
6.\" purpose with or without fee is hereby granted, provided that the above
7.\" copyright notice and this permission notice appear in all copies.
8.\"
9.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16.\"
17.Dd $Mdocdate: September 9 2023 $
18.Dt EVP_PKEY_CTX_GET_OPERATION 3
19.Os
20.Sh NAME
21.Nm EVP_PKEY_CTX_get_operation ,
22.Nm EVP_PKEY_CTX_get0_pkey
23.Nd inspect EVP_PKEY_CTX objects
24.Sh SYNOPSIS
25.In openssl/evp.h
26.Ft int
27.Fo EVP_PKEY_CTX_get_operation
28.Fa "EVP_PKEY_CTX *ctx"
29.Fc
30.Ft EVP_PKEY *
31.Fo EVP_PKEY_CTX_get0_pkey
32.Fa "EVP_PKEY_CTX *ctx"
33.Fc
34.Sh DESCRIPTION
35.Fn EVP_PKEY_CTX_get_operation
36finds out which initialization function has been called on
37.Fa ctx ,
38if any:
39.Bl -column EVP_PKEY_OP_VERIFYRECO EVP_PKEY_verify_recover_init
40.It return value Ta initialized with Ta e.g. for
41.It Dv EVP_PKEY_OP_DECRYPT Ta Xr EVP_PKEY_decrypt_init 3 Ta RSA, SM2
42.It Dv EVP_PKEY_OP_DERIVE Ta Xr EVP_PKEY_derive_init 3 Ta HKDF
43.It Dv EVP_PKEY_OP_ENCRYPT Ta Xr EVP_PKEY_encrypt_init 3 Ta RSA, SM2
44.It Dv EVP_PKEY_OP_KEYGEN Ta Xr EVP_PKEY_keygen_init 3 Ta almost all
45.It Dv EVP_PKEY_OP_PARAMGEN Ta Xr EVP_PKEY_paramgen_init 3 Ta DH, DSA, EC
46.It Dv EVP_PKEY_OP_SIGN Ta Xr EVP_PKEY_sign_init 3 Ta DSA,EC,RSA,SM2
47.It Dv EVP_PKEY_OP_SIGN Ta Xr EVP_DigestSignInit 3 Ta ED25519
48.It Dv EVP_PKEY_OP_SIGNCTX Ta Xr EVP_DigestSignInit 3 Ta CMAC, HMAC
49.It Dv EVP_PKEY_OP_UNDEFINED Ta not initialized Ta NONE
50.It Dv EVP_PKEY_OP_VERIFY Ta Xr EVP_PKEY_verify_init 3 Ta DSA,EC,RSA,SM2
51.It Dv EVP_PKEY_OP_VERIFY Ta Xr EVP_DigestVerifyInit 3 Ta ED25519
52.It Dv EVP_PKEY_OP_VERIFYCTX Ta Xr EVP_DigestVerifyInit 3 Ta no built-in
53.It Dv EVP_PKEY_OP_VERIFYRECOVER Ta Xr EVP_PKEY_verify_recover_init 3 Ta RSA
54.El
55.Pp
56The rightmost column of the above table shows examples of algoritms
57the return values can occur for.
58For example, if
59.Xr EVP_PKEY_base_id 3
60returns
61.Dv EVP_PKEY_HKDF ,
62then calling
63.Fn EVP_PKEY_CTX_get_operation
64on a
65.Vt EVP_PKEY_CTX
66using that key may return
67.Dv EVP_PKEY_OP_DERIVE .
68.Pp
69If the return value is
70.Dv EVP_PKEY_OP_SIGNCTX
71or
72.Dv EVP_PKEY_OP_VERIFYCTX ,
73the
74.Fa ctx
75supports
76.Xr EVP_DigestSignUpdate 3
77or
78.Xr EVP_DigestVerifyUpdate 3 ,
79respectively.
80If the return value is
81.Dv EVP_PKEY_OP_SIGN
82or
83.Dv EVP_PKEY_OP_VERIFY ,
84if does not, and only one-shot signing or verification is supported.
85.Pp
86The return value
87.Dv EVP_PKEY_OP_UNDEFINED
88can for example occur if the
89.Fa ctx
90was freshly returned from
91.Xr EVP_PKEY_CTX_new 3
92or
93.Xr EVP_PKEY_CTX_new_id 3
94and not yet initialized.
95.Sh RETURN VALUES
96.Fn EVP_PKEY_CTX_get_operation
97returns one of the
98.Dv EVP_PKEY_OP_*
99constants.
100.Pp
101.Fn EVP_PKEY_CTX_get0_pkey
102returns an internal pointer to the
103.Vt EVP_PKEY
104object used by
105.Fa ctx ,
106without incrementing its reference count.
107.Sh SEE ALSO
108.Xr evp 3 ,
109.Xr EVP_PKEY_base_id 3 ,
110.Xr EVP_PKEY_CTX_ctrl 3 ,
111.Xr EVP_PKEY_CTX_new 3 ,
112.Xr EVP_PKEY_new 3
113.Sh HISTORY
114.Fn EVP_PKEY_CTX_get_operation
115and
116.Fn EVP_PKEY_CTX_get0_pkey
117first appeared in OpenSSL 1.0.0 and have been available since
118.Ox 4.9 .
diff --git a/src/lib/libcrypto/man/EVP_PKEY_CTX_new.3 b/src/lib/libcrypto/man/EVP_PKEY_CTX_new.3
index 229f552246..7a72ac18fa 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.12 2022/07/13 21:51:35 schwarze Exp $ 1.\" $OpenBSD: EVP_PKEY_CTX_new.3,v 1.13 2023/09/09 14:39:09 schwarze Exp $
2.\" full merge up to: OpenSSL df75c2bf Dec 9 01:02:36 2018 +0100 2.\" full merge up to: OpenSSL df75c2bf Dec 9 01:02:36 2018 +0100
3.\" 3.\"
4.\" This file is a derived work. 4.\" This file is a derived work.
@@ -65,7 +65,7 @@
65.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 65.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
66.\" OF THE POSSIBILITY OF SUCH DAMAGE. 66.\" OF THE POSSIBILITY OF SUCH DAMAGE.
67.\" 67.\"
68.Dd $Mdocdate: July 13 2022 $ 68.Dd $Mdocdate: September 9 2023 $
69.Dt EVP_PKEY_CTX_NEW 3 69.Dt EVP_PKEY_CTX_NEW 3
70.Os 70.Os
71.Sh NAME 71.Sh NAME
@@ -159,6 +159,8 @@ if an error occurred.
159.Xr EVP_PKEY_base_id 3 , 159.Xr EVP_PKEY_base_id 3 ,
160.Xr EVP_PKEY_check 3 , 160.Xr EVP_PKEY_check 3 ,
161.Xr EVP_PKEY_CTX_ctrl 3 , 161.Xr EVP_PKEY_CTX_ctrl 3 ,
162.Xr EVP_PKEY_CTX_get_operation 3 ,
163.Xr EVP_PKEY_CTX_hkdf_mode 3 ,
162.Xr EVP_PKEY_decrypt 3 , 164.Xr EVP_PKEY_decrypt 3 ,
163.Xr EVP_PKEY_derive 3 , 165.Xr EVP_PKEY_derive 3 ,
164.Xr EVP_PKEY_encrypt 3 , 166.Xr EVP_PKEY_encrypt 3 ,
diff --git a/src/lib/libcrypto/man/Makefile b/src/lib/libcrypto/man/Makefile
index c7a79fa7b6..ec8d3fe191 100644
--- a/src/lib/libcrypto/man/Makefile
+++ b/src/lib/libcrypto/man/Makefile
@@ -1,4 +1,4 @@
1# $OpenBSD: Makefile,v 1.267 2023/09/07 14:22:11 schwarze Exp $ 1# $OpenBSD: Makefile,v 1.268 2023/09/09 14:39:09 schwarze Exp $
2 2
3.include <bsd.own.mk> 3.include <bsd.own.mk>
4 4
@@ -181,6 +181,7 @@ MAN= \
181 EVP_OpenInit.3 \ 181 EVP_OpenInit.3 \
182 EVP_PKCS82PKEY.3 \ 182 EVP_PKCS82PKEY.3 \
183 EVP_PKEY_CTX_ctrl.3 \ 183 EVP_PKEY_CTX_ctrl.3 \
184 EVP_PKEY_CTX_get_operation.3 \
184 EVP_PKEY_CTX_new.3 \ 185 EVP_PKEY_CTX_new.3 \
185 EVP_PKEY_CTX_set_hkdf_md.3 \ 186 EVP_PKEY_CTX_set_hkdf_md.3 \
186 EVP_PKEY_add1_attr.3 \ 187 EVP_PKEY_add1_attr.3 \
diff --git a/src/lib/libcrypto/man/evp.3 b/src/lib/libcrypto/man/evp.3
index 2f2d07c7a7..b29f76480f 100644
--- a/src/lib/libcrypto/man/evp.3
+++ b/src/lib/libcrypto/man/evp.3
@@ -1,4 +1,4 @@
1.\" $OpenBSD: evp.3,v 1.23 2023/09/07 14:22:11 schwarze Exp $ 1.\" $OpenBSD: evp.3,v 1.24 2023/09/09 14:39:09 schwarze Exp $
2.\" full merge up to: OpenSSL man7/evp 24a535ea Sep 22 13:14:20 2020 +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>,
@@ -51,7 +51,7 @@
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: September 7 2023 $ 54.Dd $Mdocdate: September 9 2023 $
55.Dt EVP 3 55.Dt EVP 3
56.Os 56.Os
57.Sh NAME 57.Sh NAME
@@ -222,6 +222,7 @@ operations are more efficient using the high-level interfaces.
222.Xr EVP_PKEY_check 3 , 222.Xr EVP_PKEY_check 3 ,
223.Xr EVP_PKEY_cmp 3 , 223.Xr EVP_PKEY_cmp 3 ,
224.Xr EVP_PKEY_CTX_ctrl 3 , 224.Xr EVP_PKEY_CTX_ctrl 3 ,
225.Xr EVP_PKEY_CTX_get_operation 3 ,
225.Xr EVP_PKEY_CTX_new 3 , 226.Xr EVP_PKEY_CTX_new 3 ,
226.Xr EVP_PKEY_CTX_set_hkdf_md 3 , 227.Xr EVP_PKEY_CTX_set_hkdf_md 3 ,
227.Xr EVP_PKEY_decrypt 3 , 228.Xr EVP_PKEY_decrypt 3 ,