summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschwarze <>2021-10-25 12:25:14 +0000
committerschwarze <>2021-10-25 12:25:14 +0000
commit2236870d7e58da64d32e11fed5c33a96b999ab63 (patch)
tree79d892944d10c88072d59913fd130b91b0b3ff66
parent7a547f05e38a7cdfbc3f3e3b5a7e741239be57b9 (diff)
downloadopenbsd-2236870d7e58da64d32e11fed5c33a96b999ab63.tar.gz
openbsd-2236870d7e58da64d32e11fed5c33a96b999ab63.tar.bz2
openbsd-2236870d7e58da64d32e11fed5c33a96b999ab63.zip
new manual page PKCS8_pkey_set0(3)
documenting four PKCS#8 PrivateKeyInfo accessors
-rw-r--r--src/lib/libcrypto/man/Makefile3
-rw-r--r--src/lib/libcrypto/man/PKCS8_PRIV_KEY_INFO_new.36
-rw-r--r--src/lib/libcrypto/man/PKCS8_pkey_set0.3162
-rw-r--r--src/lib/libcrypto/man/X509_ATTRIBUTE_new.35
-rw-r--r--src/lib/libcrypto/man/X509at_add1_attr.35
-rw-r--r--src/lib/libcrypto/man/X509at_get_attr.35
6 files changed, 177 insertions, 9 deletions
diff --git a/src/lib/libcrypto/man/Makefile b/src/lib/libcrypto/man/Makefile
index 6179d3157b..820957dfa9 100644
--- a/src/lib/libcrypto/man/Makefile
+++ b/src/lib/libcrypto/man/Makefile
@@ -1,4 +1,4 @@
1# $OpenBSD: Makefile,v 1.199 2021/10/22 15:50:19 schwarze Exp $ 1# $OpenBSD: Makefile,v 1.200 2021/10/25 12:25:14 schwarze Exp $
2 2
3.include <bsd.own.mk> 3.include <bsd.own.mk>
4 4
@@ -237,6 +237,7 @@ MAN= \
237 PKCS7_sign_add_signer.3 \ 237 PKCS7_sign_add_signer.3 \
238 PKCS7_verify.3 \ 238 PKCS7_verify.3 \
239 PKCS8_PRIV_KEY_INFO_new.3 \ 239 PKCS8_PRIV_KEY_INFO_new.3 \
240 PKCS8_pkey_set0.3 \
240 PKEY_USAGE_PERIOD_new.3 \ 241 PKEY_USAGE_PERIOD_new.3 \
241 POLICYINFO_new.3 \ 242 POLICYINFO_new.3 \
242 PROXY_POLICY_new.3 \ 243 PROXY_POLICY_new.3 \
diff --git a/src/lib/libcrypto/man/PKCS8_PRIV_KEY_INFO_new.3 b/src/lib/libcrypto/man/PKCS8_PRIV_KEY_INFO_new.3
index 91cd25d425..639eceeded 100644
--- a/src/lib/libcrypto/man/PKCS8_PRIV_KEY_INFO_new.3
+++ b/src/lib/libcrypto/man/PKCS8_PRIV_KEY_INFO_new.3
@@ -1,4 +1,4 @@
1.\" $OpenBSD: PKCS8_PRIV_KEY_INFO_new.3,v 1.4 2019/06/06 01:06:59 schwarze Exp $ 1.\" $OpenBSD: PKCS8_PRIV_KEY_INFO_new.3,v 1.5 2021/10/25 12:25:14 schwarze Exp $
2.\" 2.\"
3.\" Copyright (c) 2016 Ingo Schwarze <schwarze@openbsd.org> 3.\" Copyright (c) 2016 Ingo Schwarze <schwarze@openbsd.org>
4.\" 4.\"
@@ -14,7 +14,7 @@
14.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 14.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16.\" 16.\"
17.Dd $Mdocdate: June 6 2019 $ 17.Dd $Mdocdate: October 25 2021 $
18.Dt PKCS8_PRIV_KEY_INFO_NEW 3 18.Dt PKCS8_PRIV_KEY_INFO_NEW 3
19.Os 19.Os
20.Sh NAME 20.Sh NAME
@@ -48,10 +48,12 @@ object or
48.Dv NULL 48.Dv NULL
49if an error occurs. 49if an error occurs.
50.Sh SEE ALSO 50.Sh SEE ALSO
51.Xr d2i_PKCS8_PRIV_KEY_INFO 3 ,
51.Xr d2i_PKCS8PrivateKey_bio 3 , 52.Xr d2i_PKCS8PrivateKey_bio 3 ,
52.Xr EVP_PKEY_asn1_set_private 3 , 53.Xr EVP_PKEY_asn1_set_private 3 ,
53.Xr PEM_read_PKCS8_PRIV_KEY_INFO 3 , 54.Xr PEM_read_PKCS8_PRIV_KEY_INFO 3 ,
54.Xr PKCS12_parse 3 , 55.Xr PKCS12_parse 3 ,
56.Xr PKCS8_pkey_set0 3 ,
55.Xr X509_ATTRIBUTE_new 3 57.Xr X509_ATTRIBUTE_new 3
56.Sh STANDARDS 58.Sh STANDARDS
57RFC 5208: PKCS#8: Private-Key Information Syntax Specification 59RFC 5208: PKCS#8: Private-Key Information Syntax Specification
diff --git a/src/lib/libcrypto/man/PKCS8_pkey_set0.3 b/src/lib/libcrypto/man/PKCS8_pkey_set0.3
new file mode 100644
index 0000000000..c7e4fd0ea4
--- /dev/null
+++ b/src/lib/libcrypto/man/PKCS8_pkey_set0.3
@@ -0,0 +1,162 @@
1.\" $OpenBSD: PKCS8_pkey_set0.3,v 1.1 2021/10/25 12:25:14 schwarze Exp $
2.\"
3.\" Copyright (c) 2021 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: October 25 2021 $
18.Dt PKCS8_PKEY_SET0 3
19.Os
20.Sh NAME
21.Nm PKCS8_pkey_set0 ,
22.Nm PKCS8_pkey_get0 ,
23.Nm PKCS8_pkey_add1_attr_by_NID ,
24.Nm PKCS8_pkey_get0_attrs
25.Nd change and inspect PKCS#8 PrivateKeyInfo objects
26.Sh SYNOPSIS
27.In openssl/x509.h
28.Ft int
29.Fo PKCS8_pkey_set0
30.Fa "PKCS8_PRIV_KEY_INFO *keyinfo"
31.Fa "ASN1_OBJECT *aobj"
32.Fa "int version"
33.Fa "int ptype"
34.Fa "void *pval"
35.Fa "unsigned char *data"
36.Fa "int len"
37.Fc
38.Ft int
39.Fo PKCS8_pkey_get0
40.Fa "const ASN1_OBJECT **paobj"
41.Fa "const unsigned char **pdata"
42.Fa "int *plen"
43.Fa "const X509_ALGOR **palgor"
44.Fa "const PKCS8_PRIV_KEY_INFO *keyinfo"
45.Fc
46.Ft int
47.Fo PKCS8_pkey_add1_attr_by_NID
48.Fa "PKCS8_PRIV_KEY_INFO *keyinfo"
49.Fa "int nid"
50.Fa "int type"
51.Fa "const unsigned char *data"
52.Fa "int len"
53.Fc
54.Ft const STACK_OF(X509_ATTRIBUTE) *
55.Fo PKCS8_pkey_get0_attrs
56.Fa "const PKCS8_PRIV_KEY_INFO *keyinfo"
57.Fc
58.Sh DESCRIPTION
59.Fn PKCS8_pkey_set0
60initializes the
61.Fa keyinfo
62object.
63The algorithm is set to
64.Fa aobj
65with the associated parameter type
66.Fa ptype
67and parameter value
68.Fa pval
69using
70.Xr X509_ALGOR_set0 3 ,
71replacing any previous information about the algorithm.
72Unless
73.Fa data
74is
75.Dv NULL ,
76the encoded private key is set to the
77.Fa len
78bytes starting at
79.Fa data
80using
81.Xr ASN1_STRING_set0 3 ,
82not performing any validation.
83If
84.Fa data
85is
86.Dv NULL ,
87the key data remains unchanged.
88If the
89.Fa version
90argument is greater than or equal to 0, it replaces any existing version;
91otherwise, the version remains unchanged.
92If
93.Fa keyinfo
94contains any attributes, they remain unchanged.
95.Pp
96.Fn PKCS8_pkey_get0
97retrieves some information from the
98.Fa keyinfo
99object.
100Internal pointers to the algorithm OID, the
101.Vt AlgorithmIdentifier ,
102and the encoded private key are stored in
103.Pf * Fa paobj ,
104.Pf * Fa palgor ,
105and
106.Pf * Fa pdata ,
107respectively.
108.Dv NULL
109pointers can be passed for any of these three arguments if the respective
110information is not needed.
111Unless
112.Fa pdata
113is
114.Dv NULL ,
115.Pf * Fa plen
116is set to the number of bytes in
117.Pf * Fa pdata .
118.Pp
119.Fn PKCS8_pkey_add1_attr_by_NID
120creates a new X.501 Attribute object using
121.Xr X509_ATTRIBUTE_create_by_NID 3
122and appends it to the attributes of
123.Fa keyinfo
124using
125.Xr X509at_add1_attr 3 .
126.Sh RETURN VALUES
127.Fn PKCS8_pkey_set0
128and
129.Fn PKCS8_pkey_add1_attr_by_NID
130return 1 for success or 0 for failure.
131.Pp
132.Fn PKCS8_pkey_get0
133always returns 1.
134.Pp
135.Fn PKCS8_pkey_get0_attrs
136returns an internal pointer to the array of attributes associated with
137.Fa keyinfo
138or
139.Dv NULL
140if no attributes are set.
141.Sh SEE ALSO
142.Xr ASN1_STRING_set0 3 ,
143.Xr OBJ_nid2obj 3 ,
144.Xr PKCS8_PRIV_KEY_INFO_new 3 ,
145.Xr STACK_OF 3 ,
146.Xr X509_ALGOR_new 3 ,
147.Xr X509_ATTRIBUTE_create_by_NID 3 ,
148.Xr X509_ATTRIBUTE_new 3 ,
149.Xr X509at_add1_attr 3 ,
150.Xr X509at_get_attr 3
151.Sh HISTORY
152.Fn PKCS8_pkey_set0
153and
154.Fn PKCS8_pkey_get0
155first appeared in OpenSSL 1.0.0 and have been available since
156.Ox 4.9 .
157.Pp
158.Fn PKCS8_pkey_add1_attr_by_NID
159and
160.Fn PKCS8_pkey_get0_attrs
161first appeared in OpenSSL 1.1.0 and have been available since
162.Ox 6.4 .
diff --git a/src/lib/libcrypto/man/X509_ATTRIBUTE_new.3 b/src/lib/libcrypto/man/X509_ATTRIBUTE_new.3
index 5e4fe27efe..a01b465c04 100644
--- a/src/lib/libcrypto/man/X509_ATTRIBUTE_new.3
+++ b/src/lib/libcrypto/man/X509_ATTRIBUTE_new.3
@@ -1,4 +1,4 @@
1.\" $OpenBSD: X509_ATTRIBUTE_new.3,v 1.14 2021/10/22 15:50:19 schwarze Exp $ 1.\" $OpenBSD: X509_ATTRIBUTE_new.3,v 1.15 2021/10/25 12:25:14 schwarze Exp $
2.\" 2.\"
3.\" Copyright (c) 2016, 2021 Ingo Schwarze <schwarze@openbsd.org> 3.\" Copyright (c) 2016, 2021 Ingo Schwarze <schwarze@openbsd.org>
4.\" 4.\"
@@ -14,7 +14,7 @@
14.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 14.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16.\" 16.\"
17.Dd $Mdocdate: October 22 2021 $ 17.Dd $Mdocdate: October 25 2021 $
18.Dt X509_ATTRIBUTE_NEW 3 18.Dt X509_ATTRIBUTE_NEW 3
19.Os 19.Os
20.Sh NAME 20.Sh NAME
@@ -115,6 +115,7 @@ fails on
115.Xr OBJ_nid2obj 3 , 115.Xr OBJ_nid2obj 3 ,
116.Xr PKCS12_SAFEBAG_new 3 , 116.Xr PKCS12_SAFEBAG_new 3 ,
117.Xr PKCS7_add_attribute 3 , 117.Xr PKCS7_add_attribute 3 ,
118.Xr PKCS8_pkey_get0_attrs 3 ,
118.Xr PKCS8_PRIV_KEY_INFO_new 3 , 119.Xr PKCS8_PRIV_KEY_INFO_new 3 ,
119.Xr X509_ATTRIBUTE_get0_object 3 , 120.Xr X509_ATTRIBUTE_get0_object 3 ,
120.Xr X509_ATTRIBUTE_set1_object 3 , 121.Xr X509_ATTRIBUTE_set1_object 3 ,
diff --git a/src/lib/libcrypto/man/X509at_add1_attr.3 b/src/lib/libcrypto/man/X509at_add1_attr.3
index 0162b1f99f..b501b1ca62 100644
--- a/src/lib/libcrypto/man/X509at_add1_attr.3
+++ b/src/lib/libcrypto/man/X509at_add1_attr.3
@@ -1,4 +1,4 @@
1.\" $OpenBSD: X509at_add1_attr.3,v 1.3 2021/10/24 07:08:20 jmc Exp $ 1.\" $OpenBSD: X509at_add1_attr.3,v 1.4 2021/10/25 12:25:14 schwarze Exp $
2.\" 2.\"
3.\" Copyright (c) 2021 Ingo Schwarze <schwarze@openbsd.org> 3.\" Copyright (c) 2021 Ingo Schwarze <schwarze@openbsd.org>
4.\" 4.\"
@@ -14,7 +14,7 @@
14.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 14.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16.\" 16.\"
17.Dd $Mdocdate: October 24 2021 $ 17.Dd $Mdocdate: October 25 2021 $
18.Dt X509AT_ADD1_ATTR 3 18.Dt X509AT_ADD1_ATTR 3
19.Os 19.Os
20.Sh NAME 20.Sh NAME
@@ -122,6 +122,7 @@ is negative or greater than or equal to the number of objects in
122.Sh SEE ALSO 122.Sh SEE ALSO
123.Xr EVP_PKEY_add1_attr 3 , 123.Xr EVP_PKEY_add1_attr 3 ,
124.Xr OBJ_nid2obj 3 , 124.Xr OBJ_nid2obj 3 ,
125.Xr PKCS8_pkey_add1_attr_by_NID 3 ,
125.Xr STACK_OF 3 , 126.Xr STACK_OF 3 ,
126.Xr X509_ATTRIBUTE_create_by_OBJ 3 , 127.Xr X509_ATTRIBUTE_create_by_OBJ 3 ,
127.Xr X509_ATTRIBUTE_new 3 , 128.Xr X509_ATTRIBUTE_new 3 ,
diff --git a/src/lib/libcrypto/man/X509at_get_attr.3 b/src/lib/libcrypto/man/X509at_get_attr.3
index 8534034317..45b93f9243 100644
--- a/src/lib/libcrypto/man/X509at_get_attr.3
+++ b/src/lib/libcrypto/man/X509at_get_attr.3
@@ -1,4 +1,4 @@
1.\" $OpenBSD: X509at_get_attr.3,v 1.3 2021/10/22 15:50:19 schwarze Exp $ 1.\" $OpenBSD: X509at_get_attr.3,v 1.4 2021/10/25 12:25:14 schwarze Exp $
2.\" 2.\"
3.\" Copyright (c) 2021 Ingo Schwarze <schwarze@openbsd.org> 3.\" Copyright (c) 2021 Ingo Schwarze <schwarze@openbsd.org>
4.\" 4.\"
@@ -14,7 +14,7 @@
14.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 14.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16.\" 16.\"
17.Dd $Mdocdate: October 22 2021 $ 17.Dd $Mdocdate: October 25 2021 $
18.Dt X509AT_GET_ATTR 3 18.Dt X509AT_GET_ATTR 3
19.Os 19.Os
20.Sh NAME 20.Sh NAME
@@ -141,6 +141,7 @@ on failure.
141.Sh SEE ALSO 141.Sh SEE ALSO
142.Xr EVP_PKEY_get_attr 3 , 142.Xr EVP_PKEY_get_attr 3 ,
143.Xr OBJ_nid2obj 3 , 143.Xr OBJ_nid2obj 3 ,
144.Xr PKCS8_pkey_get0_attrs 3 ,
144.Xr STACK_OF 3 , 145.Xr STACK_OF 3 ,
145.Xr X509_ATTRIBUTE_get0_data 3 , 146.Xr X509_ATTRIBUTE_get0_data 3 ,
146.Xr X509_ATTRIBUTE_new 3 , 147.Xr X509_ATTRIBUTE_new 3 ,