summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/libcrypto/man/X509_STORE_CTX_get_error.323
-rw-r--r--src/lib/libcrypto/man/X509_STORE_CTX_new.3155
2 files changed, 113 insertions, 65 deletions
diff --git a/src/lib/libcrypto/man/X509_STORE_CTX_get_error.3 b/src/lib/libcrypto/man/X509_STORE_CTX_get_error.3
index 3294658ac6..6192c0d2fc 100644
--- a/src/lib/libcrypto/man/X509_STORE_CTX_get_error.3
+++ b/src/lib/libcrypto/man/X509_STORE_CTX_get_error.3
@@ -1,13 +1,13 @@
1.\" $OpenBSD: X509_STORE_CTX_get_error.3,v 1.14 2021/07/21 15:03:45 schwarze Exp $ 1.\" $OpenBSD: X509_STORE_CTX_get_error.3,v 1.15 2021/07/22 14:30:38 schwarze Exp $
2.\" full merge up to: 2.\" full merge up to:
3.\" OpenSSL crypto/X509_STORE_CTX_get_error f0e0fd51 Apr 14 23:59:26 2016 -0400 3.\" OpenSSL crypto/X509_STORE_CTX_get_error f0e0fd51 Apr 14 23:59:26 2016 -0400
4.\" selective merge up to: 4.\" selective merge up to:
5.\" OpenSSL man3/X509_STORE_CTX_get_error 24a535ea Sep 22 13:14:20 2020 +0100 5.\" OpenSSL man3/X509_STORE_CTX_get_error 24a535ea Sep 22 13:14:20 2020 +0100
6.\" OpenSSL man3/X509_STORE_CTX_new 24a535ea Sep 22 13:14:20 2020 +0100 6.\" OpenSSL man3/X509_STORE_CTX_new 24a535ea Sep 22 13:14:20 2020 +0100
7.\" 7.\"
8.\" This file was written by Dr. Stephen Henson <steve@openssl.org>. 8.\" This file was written by Dr. Stephen Henson <steve@openssl.org>
9.\" Copyright (c) 2009, 2013, 2015, 2016 The OpenSSL Project. 9.\" and Rich Salz <rsalz@openssl.org>.
10.\" All rights reserved. 10.\" Copyright (c) 2009, 2016 The OpenSSL Project. All rights reserved.
11.\" 11.\"
12.\" Redistribution and use in source and binary forms, with or without 12.\" Redistribution and use in source and binary forms, with or without
13.\" modification, are permitted provided that the following conditions 13.\" modification, are permitted provided that the following conditions
@@ -53,7 +53,7 @@
53.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 53.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
54.\" OF THE POSSIBILITY OF SUCH DAMAGE. 54.\" OF THE POSSIBILITY OF SUCH DAMAGE.
55.\" 55.\"
56.Dd $Mdocdate: July 21 2021 $ 56.Dd $Mdocdate: July 22 2021 $
57.Dt X509_STORE_CTX_GET_ERROR 3 57.Dt X509_STORE_CTX_GET_ERROR 3
58.Os 58.Os
59.Sh NAME 59.Sh NAME
@@ -61,7 +61,6 @@
61.Nm X509_STORE_CTX_set_error , 61.Nm X509_STORE_CTX_set_error ,
62.Nm X509_STORE_CTX_get_error_depth , 62.Nm X509_STORE_CTX_get_error_depth ,
63.Nm X509_STORE_CTX_get_current_cert , 63.Nm X509_STORE_CTX_get_current_cert ,
64.Nm X509_STORE_CTX_get0_cert ,
65.Nm X509_STORE_CTX_get0_chain , 64.Nm X509_STORE_CTX_get0_chain ,
66.Nm X509_STORE_CTX_get_chain , 65.Nm X509_STORE_CTX_get_chain ,
67.Nm X509_STORE_CTX_get1_chain , 66.Nm X509_STORE_CTX_get1_chain ,
@@ -86,10 +85,6 @@
86.Fo X509_STORE_CTX_get_current_cert 85.Fo X509_STORE_CTX_get_current_cert
87.Fa "X509_STORE_CTX *ctx" 86.Fa "X509_STORE_CTX *ctx"
88.Fc 87.Fc
89.Ft X509 *
90.Fo X509_STORE_CTX_get0_cert
91.Fa "X509_STORE_CTX *ctx"
92.Fc
93.Ft STACK_OF(X509) * 88.Ft STACK_OF(X509) *
94.Fo X509_STORE_CTX_get0_chain 89.Fo X509_STORE_CTX_get0_chain
95.Fa "X509_STORE_CTX *ctx" 90.Fa "X509_STORE_CTX *ctx"
@@ -195,10 +190,6 @@ returns the certificate which caused the error or
195.Dv NULL 190.Dv NULL
196if no certificate is relevant to the error. 191if no certificate is relevant to the error.
197.Pp 192.Pp
198.Fn X509_STORE_CTX_get0_cert
199retrieves an internal pointer to the certificate being verified by
200.Fa ctx .
201.Pp
202.Fn X509_STORE_CTX_get0_chain , 193.Fn X509_STORE_CTX_get0_chain ,
203.Fn X509_STORE_CTX_get_chain , 194.Fn X509_STORE_CTX_get_chain ,
204and 195and
@@ -399,8 +390,6 @@ first appeared in SSLeay 0.8.0 and have been available since
399first appeared in OpenSSL 0.9.5 and has been available since 390first appeared in OpenSSL 0.9.5 and has been available since
400.Ox 2.7 . 391.Ox 2.7 .
401.Pp 392.Pp
402.Fn X509_STORE_CTX_get0_cert
403and
404.Fn X509_STORE_CTX_get0_chain 393.Fn X509_STORE_CTX_get0_chain
405first appeared in OpenSSL 1.1.0 and have been available since 394first appeared in OpenSSL 1.1.0 and has been available since
406.Ox 6.3 . 395.Ox 6.3 .
diff --git a/src/lib/libcrypto/man/X509_STORE_CTX_new.3 b/src/lib/libcrypto/man/X509_STORE_CTX_new.3
index bcacb99094..17faeb3f13 100644
--- a/src/lib/libcrypto/man/X509_STORE_CTX_new.3
+++ b/src/lib/libcrypto/man/X509_STORE_CTX_new.3
@@ -1,10 +1,27 @@
1.\" $OpenBSD: X509_STORE_CTX_new.3,v 1.20 2019/12/05 14:38:56 claudio Exp $ 1.\" $OpenBSD: X509_STORE_CTX_new.3,v 1.21 2021/07/22 14:30:38 schwarze Exp $
2.\" full merge up to: OpenSSL 186bb907 Apr 13 11:05:13 2015 -0700 2.\" full merge up to: OpenSSL aae41f8c Jun 25 09:47:15 2015 +0100
3.\" selective merge up to: OpenSSL 7643a172 Apr 21 13:35:51 2017 +0200 3.\" selective merge up to: OpenSSL 24a535ea Sep 22 13:14:20 2020 +0100
4.\" 4.\"
5.\" This file was written by Dr. Stephen Henson <steve@openssl.org> 5.\" This file is a derived work.
6.\" The changes are covered by the following Copyright and license:
7.\"
8.\" Copyright (c) 2021 Ingo Schwarze <schwarze@openbsd.org>
9.\"
10.\" Permission to use, copy, modify, and distribute this software for any
11.\" purpose with or without fee is hereby granted, provided that the above
12.\" copyright notice and this permission notice appear in all copies.
13.\"
14.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
15.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
16.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
17.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
18.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
19.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
20.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
21.\"
22.\" The original file was written by Dr. Stephen Henson <steve@openssl.org>
6.\" and Rich Salz <rsalz@openssl.org>. 23.\" and Rich Salz <rsalz@openssl.org>.
7.\" Copyright (c) 2009, 2015, 2016 The OpenSSL Project. All rights reserved. 24.\" Copyright (c) 2009, 2016 The OpenSSL Project. All rights reserved.
8.\" 25.\"
9.\" Redistribution and use in source and binary forms, with or without 26.\" Redistribution and use in source and binary forms, with or without
10.\" modification, are permitted provided that the following conditions 27.\" modification, are permitted provided that the following conditions
@@ -50,7 +67,7 @@
50.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 67.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
51.\" OF THE POSSIBILITY OF SUCH DAMAGE. 68.\" OF THE POSSIBILITY OF SUCH DAMAGE.
52.\" 69.\"
53.Dd $Mdocdate: December 5 2019 $ 70.Dd $Mdocdate: July 22 2021 $
54.Dt X509_STORE_CTX_NEW 3 71.Dt X509_STORE_CTX_NEW 3
55.Os 72.Os
56.Sh NAME 73.Sh NAME
@@ -62,14 +79,15 @@
62.Nm X509_STORE_CTX_set0_trusted_stack , 79.Nm X509_STORE_CTX_set0_trusted_stack ,
63.Nm X509_STORE_CTX_trusted_stack , 80.Nm X509_STORE_CTX_trusted_stack ,
64.Nm X509_STORE_CTX_set_cert , 81.Nm X509_STORE_CTX_set_cert ,
82.Nm X509_STORE_CTX_get0_cert ,
65.\" X509_STORE_CTX_get0_chain moved to X509_STORE_CTX_get_error(3) 83.\" X509_STORE_CTX_get0_chain moved to X509_STORE_CTX_get_error(3)
66.Nm X509_STORE_CTX_set_chain , 84.Nm X509_STORE_CTX_set_chain ,
85.Nm X509_STORE_CTX_set0_untrusted ,
86.Nm X509_STORE_CTX_get0_untrusted ,
67.Nm X509_STORE_CTX_set0_crls , 87.Nm X509_STORE_CTX_set0_crls ,
68.Nm X509_STORE_CTX_set_flags , 88.Nm X509_STORE_CTX_set_flags ,
69.Nm X509_STORE_CTX_get0_param , 89.Nm X509_STORE_CTX_get0_param ,
70.Nm X509_STORE_CTX_set0_param , 90.Nm X509_STORE_CTX_set0_param ,
71.Nm X509_STORE_CTX_get0_untrusted ,
72.Nm X509_STORE_CTX_set0_untrusted ,
73.Nm X509_STORE_CTX_set_default 91.Nm X509_STORE_CTX_set_default
74.Nd X509_STORE_CTX initialisation 92.Nd X509_STORE_CTX initialisation
75.Sh SYNOPSIS 93.Sh SYNOPSIS
@@ -110,12 +128,25 @@
110.Fa "X509_STORE_CTX *ctx" 128.Fa "X509_STORE_CTX *ctx"
111.Fa "X509 *x" 129.Fa "X509 *x"
112.Fc 130.Fc
131.Ft X509 *
132.Fo X509_STORE_CTX_get0_cert
133.Fa "X509_STORE_CTX *ctx"
134.Fc
113.Ft void 135.Ft void
114.Fo X509_STORE_CTX_set_chain 136.Fo X509_STORE_CTX_set_chain
115.Fa "X509_STORE_CTX *ctx" 137.Fa "X509_STORE_CTX *ctx"
116.Fa "STACK_OF(X509) *sk" 138.Fa "STACK_OF(X509) *sk"
117.Fc 139.Fc
118.Ft void 140.Ft void
141.Fo X509_STORE_CTX_set0_untrusted
142.Fa "X509_STORE_CTX *ctx"
143.Fa "STACK_OF(X509) *sk"
144.Fc
145.Ft STACK_OF(X509) *
146.Fo X509_STORE_CTX_get0_untrusted
147.Fa "X509_STORE_CTX *ctx"
148.Fc
149.Ft void
119.Fo X509_STORE_CTX_set0_crls 150.Fo X509_STORE_CTX_set0_crls
120.Fa "X509_STORE_CTX *ctx" 151.Fa "X509_STORE_CTX *ctx"
121.Fa "STACK_OF(X509_CRL) *sk" 152.Fa "STACK_OF(X509_CRL) *sk"
@@ -139,15 +170,6 @@
139.Fa "X509_STORE_CTX *ctx" 170.Fa "X509_STORE_CTX *ctx"
140.Fa "const char *name" 171.Fa "const char *name"
141.Fc 172.Fc
142.Ft STACK_OF(X509)*
143.Fo X509_STORE_CTX_get0_untrusted
144.Fa "X509_STORE_CTX *ctx"
145.Fc
146.Ft void
147.Fo X509_STORE_CTX_set0_untrusted
148.Fa "X509_STORE_CTX *ctx"
149.Fa "STACK_OF(X509) *sk"
150.Fc
151.Sh DESCRIPTION 173.Sh DESCRIPTION
152These functions initialise an 174These functions initialise an
153.Vt X509_STORE_CTX 175.Vt X509_STORE_CTX
@@ -165,6 +187,11 @@ internally cleans up an
165structure. 187structure.
166The context can then be reused with a new call to 188The context can then be reused with a new call to
167.Fn X509_STORE_CTX_init . 189.Fn X509_STORE_CTX_init .
190Calling both of these functions is required before
191.Xr X509_verify_cert 3
192can be called on the same
193.Fa ctx
194another time.
168.Pp 195.Pp
169.Fn X509_STORE_CTX_free 196.Fn X509_STORE_CTX_free
170completely frees up 197completely frees up
@@ -181,13 +208,14 @@ pointer, no action occurs.
181.Fn X509_STORE_CTX_init 208.Fn X509_STORE_CTX_init
182sets up 209sets up
183.Fa ctx 210.Fa ctx
184for a subsequent verification operation. 211for one single subsequent verification operation using
212.Xr X509_verify_cert 3 .
185The trusted certificate store is set to 213The trusted certificate store is set to
186.Fa store , 214.Fa store ,
187the end entity certificate to be verified is set to 215the end entity certificate to be verified is set to
188.Fa x509 216.Fa x509 ,
189and a set of additional certificates (which will be untrusted but may be 217and a set of additional certificates (which will be untrusted but may be
190used to build the chain) in 218used to build the chain) can be supplied in
191.Fa chain . 219.Fa chain .
192Any or all of the 220Any or all of the
193.Fa store , 221.Fa store ,
@@ -196,9 +224,22 @@ and
196.Fa chain 224.Fa chain
197parameters can be 225parameters can be
198.Dv NULL . 226.Dv NULL .
227The three pointers passed in are stored internally, the three objects
228pointed to are not copied, their reference count is not incremented,
229and the caller remains responsible for managing their storage and for
230not freeing them until either
231.Fn X509_STORE_CTX_free
232is called on
233.Fa ctx
234or until both
235.Fn X509_STORE_CTX_cleanup
236and
237.Fn X509_STORE_CTX_init
238are called on
239.Fa ctx .
199.Pp 240.Pp
200.Fn X509_STORE_CTX_get0_store 241.Fn X509_STORE_CTX_get0_store
201returns an internal pointer to the trusted certificate 242returns the internal pointer to the trusted certificate
202.Fa store 243.Fa store
203that was set with 244that was set with
204.Fn X509_STORE_CTX_init . 245.Fn X509_STORE_CTX_init .
@@ -219,13 +260,41 @@ is a deprecated alias for
219sets the certificate to be verified in 260sets the certificate to be verified in
220.Fa ctx 261.Fa ctx
221to 262to
222.Fa x . 263.Fa x ,
264overriding the certificate that was set with
265.Fn X509_STORE_CTX_init .
266Again, the certificate is not copied
267and its reference count is not incremented.
268.Pp
269.Fn X509_STORE_CTX_get0_cert
270retrieves the internal pointer to the certificate being verified by
271.Fa ctx ,
272i.e. the last one set using either
273.Fn X509_STORE_CTX_init
274or
275.Fn X509_STORE_CTX_set_cert .
223.Pp 276.Pp
224.Fn X509_STORE_CTX_set_chain 277.Fn X509_STORE_CTX_set_chain
225sets the additional certificate chain used by 278and
279.Fn X509_STORE_CTX_set0_untrusted
280are identical and set the additional, untrusted certificates used by
226.Fa ctx 281.Fa ctx
227to 282to
228.Fa sk . 283.Fa sk ,
284overriding the set of additional, untrusted certificates that was set with
285.Fn X509_STORE_CTX_init .
286Again, the set and the certificates contained in it are not copied
287and their reference counts are not incremented.
288.Pp
289.Fn X509_STORE_CTX_get0_untrusted
290retrieves the internal pointer
291to the set of additional, untrusted certificates associated with
292.Fa ctx ,
293i.e. the last one set using either
294.Fn X509_STORE_CTX_init ,
295.Fn X509_STORE_CTX_set_chain ,
296or
297.Fn X509_STORE_CTX_set0_untrusted .
229.Pp 298.Pp
230.Fn X509_STORE_CTX_set0_crls 299.Fn X509_STORE_CTX_set0_crls
231sets a set of CRLs to use to aid certificate verification to 300sets a set of CRLs to use to aid certificate verification to
@@ -264,18 +333,6 @@ This uses the function
264to find an appropriate set of parameters from 333to find an appropriate set of parameters from
265.Fa name . 334.Fa name .
266.Pp 335.Pp
267.Fn X509_STORE_CTX_get0_untrusted
268retrieves an internal pointer
269to the stack of untrusted certificates associated with
270.Fa ctx .
271.Pp
272.Fn X509_STORE_CTX_set0_untrusted
273sets the internal pointer
274to the stack of untrusted certificates associated with
275.Fa ctx
276to
277.Fa sk .
278.Pp
279The certificates and CRLs in a store are used internally and should 336The certificates and CRLs in a store are used internally and should
280.Sy not 337.Sy not
281be freed up until after the associated 338be freed up until after the associated
@@ -316,6 +373,17 @@ if
316.Fa ctx 373.Fa ctx
317was not initialised. 374was not initialised.
318.Pp 375.Pp
376.Fn X509_STORE_CTX_get0_cert
377returns the internal pointer to the certificate to be verified or
378.Dv NULL
379if no such certificate was set.
380.Pp
381.Fn X509_STORE_CTX_get0_untrusted
382returns the internal pointer
383to the set of additional, untrusted certificates or
384.Dv NULL
385if no set of additional certificates was provided.
386.Pp
319.Fn X509_STORE_CTX_get0_param 387.Fn X509_STORE_CTX_get0_param
320returns a pointer to an 388returns a pointer to an
321.Vt X509_VERIFY_PARAM 389.Vt X509_VERIFY_PARAM
@@ -325,9 +393,6 @@ if an error occurred.
325.Pp 393.Pp
326.Fn X509_STORE_CTX_set_default 394.Fn X509_STORE_CTX_set_default
327returns 1 for success or 0 if an error occurred. 395returns 1 for success or 0 if an error occurred.
328.Pp
329.Fn X509_STORE_CTX_get0_untrusted
330returns an internal pointer.
331.Sh SEE ALSO 396.Sh SEE ALSO
332.Xr X509_CRL_new 3 , 397.Xr X509_CRL_new 3 ,
333.Xr X509_STORE_CTX_get_error 3 , 398.Xr X509_STORE_CTX_get_error 3 ,
@@ -368,16 +433,10 @@ first appeared in OpenSSL 0.9.8 and have been available since
368.Fn X509_STORE_CTX_get0_store 433.Fn X509_STORE_CTX_get0_store
369first appeared in OpenSSL 1.0.2. 434first appeared in OpenSSL 1.0.2.
370.Fn X509_STORE_CTX_set0_trusted_stack , 435.Fn X509_STORE_CTX_set0_trusted_stack ,
371.Fn X509_STORE_CTX_get0_untrusted , 436.Fn X509_STORE_CTX_get0_cert ,
437.Fn X509_STORE_CTX_set0_untrusted ,
372and 438and
373.Fn X509_STORE_CTX_set0_untrusted 439.Fn X509_STORE_CTX_get0_untrusted
374first appeared in OpenSSL 1.1.0. 440first appeared in OpenSSL 1.1.0.
375These functions have been available since 441These functions have been available since
376.Ox 6.3 . 442.Ox 6.3 .
377.Sh BUGS
378The certificates and CRLs in a context are used internally and should
379.Sy not
380be freed up until after the associated
381.Vt X509_STORE_CTX
382is freed.
383Copies should be made or reference counts increased instead.