summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschwarze <>2016-12-22 16:05:22 +0000
committerschwarze <>2016-12-22 16:05:22 +0000
commitc0effee5bc1f5cdc6f4668d160e173746cbbf7de (patch)
treea214bad3e268c7c3de500b995d829ef4803ca1a0
parent38633ba03a5091d9b9b3db1ecffb4f92a0043e1a (diff)
downloadopenbsd-c0effee5bc1f5cdc6f4668d160e173746cbbf7de.tar.gz
openbsd-c0effee5bc1f5cdc6f4668d160e173746cbbf7de.tar.bz2
openbsd-c0effee5bc1f5cdc6f4668d160e173746cbbf7de.zip
Write new manual pages PKCS12_new(3) and PKCS12_SAFEBAG_new(3) from
scratch. All these functions are listed in <openssl/pkcs12.h> and in OpenSSL doc/man3/X509_dup.pod. As usual, OpenSSL documentation specifies the wrong header file. Note that PKCS#12 documentation is still scanty at best. For example, out of 19 public functions handling PKCS12 objects, five are now documented, and this commit documents the first two out of 24 public functions handling PKCS12_SAFEBAG objects.
-rw-r--r--src/lib/libcrypto/man/Makefile4
-rw-r--r--src/lib/libcrypto/man/PKCS12_SAFEBAG_new.392
-rw-r--r--src/lib/libcrypto/man/PKCS12_new.387
-rw-r--r--src/lib/libcrypto/man/X509_ATTRIBUTE_new.318
4 files changed, 195 insertions, 6 deletions
diff --git a/src/lib/libcrypto/man/Makefile b/src/lib/libcrypto/man/Makefile
index 39f9da3779..d76403010d 100644
--- a/src/lib/libcrypto/man/Makefile
+++ b/src/lib/libcrypto/man/Makefile
@@ -1,4 +1,4 @@
1# $OpenBSD: Makefile,v 1.88 2016/12/22 14:06:51 schwarze Exp $ 1# $OpenBSD: Makefile,v 1.89 2016/12/22 16:05:22 schwarze Exp $
2 2
3.include <bsd.own.mk> 3.include <bsd.own.mk>
4 4
@@ -141,8 +141,10 @@ MAN= \
141 PEM_read_bio_PrivateKey.3 \ 141 PEM_read_bio_PrivateKey.3 \
142 PEM_write_bio_PKCS7_stream.3 \ 142 PEM_write_bio_PKCS7_stream.3 \
143 PKCS12_create.3 \ 143 PKCS12_create.3 \
144 PKCS12_new.3 \
144 PKCS12_newpass.3 \ 145 PKCS12_newpass.3 \
145 PKCS12_parse.3 \ 146 PKCS12_parse.3 \
147 PKCS12_SAFEBAG_new.3 \
146 PKCS5_PBKDF2_HMAC.3 \ 148 PKCS5_PBKDF2_HMAC.3 \
147 PKCS7_decrypt.3 \ 149 PKCS7_decrypt.3 \
148 PKCS7_encrypt.3 \ 150 PKCS7_encrypt.3 \
diff --git a/src/lib/libcrypto/man/PKCS12_SAFEBAG_new.3 b/src/lib/libcrypto/man/PKCS12_SAFEBAG_new.3
new file mode 100644
index 0000000000..8cb6835194
--- /dev/null
+++ b/src/lib/libcrypto/man/PKCS12_SAFEBAG_new.3
@@ -0,0 +1,92 @@
1.\" $OpenBSD: PKCS12_SAFEBAG_new.3,v 1.1 2016/12/22 16:05:22 schwarze Exp $
2.\"
3.\" Copyright (c) 2016 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: December 22 2016 $
18.Dt PKCS12_SAFEBAG_NEW 3
19.Os
20.Sh NAME
21.Nm PKCS12_SAFEBAG_new ,
22.Nm PKCS12_SAFEBAG_free ,
23.Nm PKCS12_BAGS_new ,
24.Nm PKCS12_BAGS_free
25.Nd PKCS#12 container for one piece of information
26.Sh SYNOPSIS
27.In openssl/pkcs12.h
28.Ft PKCS12_SAFEBAG *
29.Fn PKCS12_SAFEBAG_new void
30.Ft void
31.Fn PKCS12_SAFEBAG_free "PKCS12_SAFEBAG *safebag"
32.Ft PKCS12_BAGS *
33.Fn PKCS12_BAGS_new void
34.Ft void
35.Fn PKCS12_BAGS_free "PKCS12_BAGS *bag"
36.Sh DESCRIPTION
37.Fn PKCS12_SAFEBAG_new
38allocates and initializes an empty
39.Vt PKCS12_SAFEBAG
40object, representing an ASN.1 SafeBag structure
41defined in RFC 7292 section 4.2.
42It can hold a pointer to a
43.Vt PKCS12_BAGS
44object together with a type identifier and optional attributes.
45.Fn PKCS12_SAFEBAG_free
46frees
47.Fa safebag .
48.Pp
49.Fn PKCS12_BAGS_new
50allocates and initializes an empty
51.Vt PKCS12_BAGS
52object, representing the bagValue field of an ASN.1 SafeBag structure.
53It is used in
54.Vt PKCS12_SAFEBAG
55and can hold a DER-encoded X.509 certificate,
56a base64-encoded SDSI certificate,
57a DER-encoded X.509 CRL,
58or other user-defined information.
59.Pp
60If an instance of
61.Vt PKCS12_SAFEBAG
62contains
63.Vt PKCS8_PRIV_KEY_INFO ,
64.Vt X509_SIG ,
65or nested
66.Vt PKCS12_SAFEBAG
67objects, the respective pointers are stored directly in the
68.Vt PKCS12_SAFEBAG
69object rather than in the contained
70.Vt PKCS12_BAGS
71object as required by RFC 7292.
72.Sh RETURN VALUES
73.Fn PKCS12_SAFEBAG_new
74and
75.Fn PKCS12_BAGS_new
76return the new
77.Vt PKCS12_SAFEBAG
78or
79.Vt PKCS12_BAGS
80object, respectively, or
81.Dv NULL
82if an error occurs.
83.Sh SEE ALSO
84.Xr PKCS12_new 3 ,
85.Xr PKCS8_PRIV_KEY_INFO_new 3 ,
86.Xr X509_ATTRIBUTE_new 3 ,
87.Xr X509_CRL_new 3 ,
88.Xr X509_new 3 ,
89.Xr X509_SIG_new 3
90.Sh STANDARDS
91RFC 7292: PKCS #12: Personal Information Exchange Syntax,
92section 4.2: The SafeBag Type
diff --git a/src/lib/libcrypto/man/PKCS12_new.3 b/src/lib/libcrypto/man/PKCS12_new.3
new file mode 100644
index 0000000000..426074c9b1
--- /dev/null
+++ b/src/lib/libcrypto/man/PKCS12_new.3
@@ -0,0 +1,87 @@
1.\" $OpenBSD: PKCS12_new.3,v 1.1 2016/12/22 16:05:22 schwarze Exp $
2.\"
3.\" Copyright (c) 2016 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: December 22 2016 $
18.Dt PKCS12_NEW 3
19.Os
20.Sh NAME
21.Nm PKCS12_new ,
22.Nm PKCS12_free ,
23.Nm PKCS12_MAC_DATA_new ,
24.Nm PKCS12_MAC_DATA_free
25.Nd PKCS#12 personal information exchange (PFX)
26.Sh SYNOPSIS
27.In openssl/pkcs12.h
28.Ft PKCS12 *
29.Fn PKCS12_new void
30.Ft void
31.Fn PKCS12_free "PKCS12 *pfx"
32.Ft PKCS12_MAC_DATA *
33.Fn PKCS12_MAC_DATA_new void
34.Ft void
35.Fn PKCS12_MAC_DATA_free "PKCS12_MAC_DATA *mac_data"
36.Sh DESCRIPTION
37.Fn PKCS12_new
38allocates and initializes an empty
39.Vt PKCS12
40object, representing an ASN.1 PFX (personal information exchange)
41structure defined in RFC 7292 section 4.
42It can hold a pointer to a
43.Vt PKCS7
44object described in
45.Xr PKCS7_new 3
46and optionally an instance of
47.Vt PKCS12_MAC_DATA
48described below.
49.Fn PKCS12_free
50frees
51.Fa pfx .
52.Pp
53.Fn PKCS12_MAC_DATA_new
54allocates and initializes an empty
55.Vt PKCS12_MAC_DATA
56object, representing an ASN.1 MacData structure
57defined in RFC 7292 section 4.
58It is used inside
59.Vt PKCS12
60and can hold a pointer to an
61.Vt X509_SIG
62object described in
63.Xr X509_SIG_new 3
64together with a salt value and an iteration count.
65.Fn PKCS12_MAC_DATA_free
66frees
67.Fa mac_data .
68.Sh RETURN VALUES
69.Fn PKCS12_new
70and
71.Fn PKCS12_MAC_DATA_new
72return the new
73.Vt PKCS12
74or
75.Vt PKCS12_MAC_DATA
76object, respectively, or
77.Dv NULL
78if an error occurs.
79.Sh SEE ALSO
80.Xr d2i_PKCS12 3 ,
81.Xr PKCS12_create 3 ,
82.Xr PKCS12_newpass 3 ,
83.Xr PKCS12_SAFEBAG_new 3 ,
84.Xr PKCS7_new 3 ,
85.Xr X509_SIG_new 3
86.Sh STANDARDS
87RFC 7292: PKCS #12: Personal Information Exchange Syntax
diff --git a/src/lib/libcrypto/man/X509_ATTRIBUTE_new.3 b/src/lib/libcrypto/man/X509_ATTRIBUTE_new.3
index 1410bd5c78..49aa238da7 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.1 2016/12/17 14:51:09 schwarze Exp $ 1.\" $OpenBSD: X509_ATTRIBUTE_new.3,v 1.2 2016/12/22 16:05:22 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: December 17 2016 $ 17.Dd $Mdocdate: December 22 2016 $
18.Dt X509_ATTRIBUTE_NEW 3 18.Dt X509_ATTRIBUTE_NEW 3
19.Os 19.Os
20.Sh NAME 20.Sh NAME
@@ -36,11 +36,15 @@ used to represent any kind of property of any kind of directory entry.
36In OpenSSL, very few objects use it directly, most notably the 36In OpenSSL, very few objects use it directly, most notably the
37.Vt X509_REQ_INFO 37.Vt X509_REQ_INFO
38object used for PKCS#10 certification requests described in 38object used for PKCS#10 certification requests described in
39.Xr X509_REQ_new 3 39.Xr X509_REQ_new 3 ,
40and the 40the
41.Vt PKCS8_PRIV_KEY_INFO 41.Vt PKCS8_PRIV_KEY_INFO
42object used for PKCS#8 private key information described in 42object used for PKCS#8 private key information described in
43.Xr PKCS8_PRIV_KEY_INFO_new 3 . 43.Xr PKCS8_PRIV_KEY_INFO_new 3 ,
44and the
45.Vt PKCS12_SAFEBAG
46container object described in
47.Xr PKCS12_SAFEBAG_new 3 .
44.Pp 48.Pp
45.Fn X509_ATTRIBUTE_new 49.Fn X509_ATTRIBUTE_new
46allocates and initializes an empty 50allocates and initializes an empty
@@ -57,6 +61,7 @@ object or
57.Dv NULL 61.Dv NULL
58if an error occurs. 62if an error occurs.
59.Sh SEE ALSO 63.Sh SEE ALSO
64.Xr PKCS12_SAFEBAG_new 3 ,
60.Xr PKCS8_PRIV_KEY_INFO_new 3 , 65.Xr PKCS8_PRIV_KEY_INFO_new 3 ,
61.Xr X509_EXTENSION_new 3 , 66.Xr X509_EXTENSION_new 3 ,
62.Xr X509_REQ_new 3 67.Xr X509_REQ_new 3
@@ -72,6 +77,9 @@ section 4.1: CertificationRequestInfo
72.It For the specific use in the context of private key information: 77.It For the specific use in the context of private key information:
73RFC 5208: Public-Key Cryptography Standards (PKCS) #8: 78RFC 5208: Public-Key Cryptography Standards (PKCS) #8:
74Private-Key Information Syntax Specification 79Private-Key Information Syntax Specification
80.It For the specific definition in the context of PFX:
81RFC 7292: PKCS #12: Personal Information Exchange Syntax,
82section 4.2: The SafeBag Type
75.El 83.El
76.Sh BUGS 84.Sh BUGS
77A data type designed to hold arbitrary data is an oxymoron. 85A data type designed to hold arbitrary data is an oxymoron.