diff options
author | schwarze <> | 2021-07-22 14:30:38 +0000 |
---|---|---|
committer | schwarze <> | 2021-07-22 14:30:38 +0000 |
commit | fbd27065ffc27d490c363b3babac8a57cc51ba7a (patch) | |
tree | 8ffc5d1fe1b1ac730149291e978c927f29d91b17 /src | |
parent | adff88ee2a38aece8bcaf0ba0c293488832d928f (diff) | |
download | openbsd-fbd27065ffc27d490c363b3babac8a57cc51ba7a.tar.gz openbsd-fbd27065ffc27d490c363b3babac8a57cc51ba7a.tar.bz2 openbsd-fbd27065ffc27d490c363b3babac8a57cc51ba7a.zip |
Move X509_STORE_CTX_get0_cert(3) to the X509_STORE_CTX_new(3) manual.
OpenSSL documents it in X509_STORE_CTX_get_error(3), but it is
misplaced there. It has nothing to do with accessing status or
error information but merely retrieves a pointer to the certificate
that the users wants to validate. It is a companion function to
X509_STORE_CTX_init(3), X509_STORE_CTX_set_cert(3),
X509_STORE_CTX_get0_store(3), and X509_STORE_CTX_get0_untrusted(3).
While here:
1. Clarify how the new, init, verify, cleanup, and free calls interact,
and who owns the memory involved, because this is all really confusing
from the user perspective.
2. Clarify how X509_STORE_CTX_init(3), X509_STORE_CTX_set_cert(3), and
X509_STORE_CTX_set_chain(3) partially override each other.
3. Move X509_STORE_CTX_set0_untrusted(3) to the proper place because
it is the same as X509_STORE_CTX_set_chain(3).
4. Add a few missing words and improve some wordings.
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/libcrypto/man/X509_STORE_CTX_get_error.3 | 23 | ||||
-rw-r--r-- | src/lib/libcrypto/man/X509_STORE_CTX_new.3 | 155 |
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 |
196 | if no certificate is relevant to the error. | 191 | if no certificate is relevant to the error. |
197 | .Pp | 192 | .Pp |
198 | .Fn X509_STORE_CTX_get0_cert | ||
199 | retrieves 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 , |
204 | and | 195 | and |
@@ -399,8 +390,6 @@ first appeared in SSLeay 0.8.0 and have been available since | |||
399 | first appeared in OpenSSL 0.9.5 and has been available since | 390 | first 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 | ||
403 | and | ||
404 | .Fn X509_STORE_CTX_get0_chain | 393 | .Fn X509_STORE_CTX_get0_chain |
405 | first appeared in OpenSSL 1.1.0 and have been available since | 394 | first 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 |
152 | These functions initialise an | 174 | These functions initialise an |
153 | .Vt X509_STORE_CTX | 175 | .Vt X509_STORE_CTX |
@@ -165,6 +187,11 @@ internally cleans up an | |||
165 | structure. | 187 | structure. |
166 | The context can then be reused with a new call to | 188 | The context can then be reused with a new call to |
167 | .Fn X509_STORE_CTX_init . | 189 | .Fn X509_STORE_CTX_init . |
190 | Calling both of these functions is required before | ||
191 | .Xr X509_verify_cert 3 | ||
192 | can be called on the same | ||
193 | .Fa ctx | ||
194 | another time. | ||
168 | .Pp | 195 | .Pp |
169 | .Fn X509_STORE_CTX_free | 196 | .Fn X509_STORE_CTX_free |
170 | completely frees up | 197 | completely frees up |
@@ -181,13 +208,14 @@ pointer, no action occurs. | |||
181 | .Fn X509_STORE_CTX_init | 208 | .Fn X509_STORE_CTX_init |
182 | sets up | 209 | sets up |
183 | .Fa ctx | 210 | .Fa ctx |
184 | for a subsequent verification operation. | 211 | for one single subsequent verification operation using |
212 | .Xr X509_verify_cert 3 . | ||
185 | The trusted certificate store is set to | 213 | The trusted certificate store is set to |
186 | .Fa store , | 214 | .Fa store , |
187 | the end entity certificate to be verified is set to | 215 | the end entity certificate to be verified is set to |
188 | .Fa x509 | 216 | .Fa x509 , |
189 | and a set of additional certificates (which will be untrusted but may be | 217 | and a set of additional certificates (which will be untrusted but may be |
190 | used to build the chain) in | 218 | used to build the chain) can be supplied in |
191 | .Fa chain . | 219 | .Fa chain . |
192 | Any or all of the | 220 | Any or all of the |
193 | .Fa store , | 221 | .Fa store , |
@@ -196,9 +224,22 @@ and | |||
196 | .Fa chain | 224 | .Fa chain |
197 | parameters can be | 225 | parameters can be |
198 | .Dv NULL . | 226 | .Dv NULL . |
227 | The three pointers passed in are stored internally, the three objects | ||
228 | pointed to are not copied, their reference count is not incremented, | ||
229 | and the caller remains responsible for managing their storage and for | ||
230 | not freeing them until either | ||
231 | .Fn X509_STORE_CTX_free | ||
232 | is called on | ||
233 | .Fa ctx | ||
234 | or until both | ||
235 | .Fn X509_STORE_CTX_cleanup | ||
236 | and | ||
237 | .Fn X509_STORE_CTX_init | ||
238 | are called on | ||
239 | .Fa ctx . | ||
199 | .Pp | 240 | .Pp |
200 | .Fn X509_STORE_CTX_get0_store | 241 | .Fn X509_STORE_CTX_get0_store |
201 | returns an internal pointer to the trusted certificate | 242 | returns the internal pointer to the trusted certificate |
202 | .Fa store | 243 | .Fa store |
203 | that was set with | 244 | that was set with |
204 | .Fn X509_STORE_CTX_init . | 245 | .Fn X509_STORE_CTX_init . |
@@ -219,13 +260,41 @@ is a deprecated alias for | |||
219 | sets the certificate to be verified in | 260 | sets the certificate to be verified in |
220 | .Fa ctx | 261 | .Fa ctx |
221 | to | 262 | to |
222 | .Fa x . | 263 | .Fa x , |
264 | overriding the certificate that was set with | ||
265 | .Fn X509_STORE_CTX_init . | ||
266 | Again, the certificate is not copied | ||
267 | and its reference count is not incremented. | ||
268 | .Pp | ||
269 | .Fn X509_STORE_CTX_get0_cert | ||
270 | retrieves the internal pointer to the certificate being verified by | ||
271 | .Fa ctx , | ||
272 | i.e. the last one set using either | ||
273 | .Fn X509_STORE_CTX_init | ||
274 | or | ||
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 |
225 | sets the additional certificate chain used by | 278 | and |
279 | .Fn X509_STORE_CTX_set0_untrusted | ||
280 | are identical and set the additional, untrusted certificates used by | ||
226 | .Fa ctx | 281 | .Fa ctx |
227 | to | 282 | to |
228 | .Fa sk . | 283 | .Fa sk , |
284 | overriding the set of additional, untrusted certificates that was set with | ||
285 | .Fn X509_STORE_CTX_init . | ||
286 | Again, the set and the certificates contained in it are not copied | ||
287 | and their reference counts are not incremented. | ||
288 | .Pp | ||
289 | .Fn X509_STORE_CTX_get0_untrusted | ||
290 | retrieves the internal pointer | ||
291 | to the set of additional, untrusted certificates associated with | ||
292 | .Fa ctx , | ||
293 | i.e. the last one set using either | ||
294 | .Fn X509_STORE_CTX_init , | ||
295 | .Fn X509_STORE_CTX_set_chain , | ||
296 | or | ||
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 |
231 | sets a set of CRLs to use to aid certificate verification to | 300 | sets a set of CRLs to use to aid certificate verification to |
@@ -264,18 +333,6 @@ This uses the function | |||
264 | to find an appropriate set of parameters from | 333 | to find an appropriate set of parameters from |
265 | .Fa name . | 334 | .Fa name . |
266 | .Pp | 335 | .Pp |
267 | .Fn X509_STORE_CTX_get0_untrusted | ||
268 | retrieves an internal pointer | ||
269 | to the stack of untrusted certificates associated with | ||
270 | .Fa ctx . | ||
271 | .Pp | ||
272 | .Fn X509_STORE_CTX_set0_untrusted | ||
273 | sets the internal pointer | ||
274 | to the stack of untrusted certificates associated with | ||
275 | .Fa ctx | ||
276 | to | ||
277 | .Fa sk . | ||
278 | .Pp | ||
279 | The certificates and CRLs in a store are used internally and should | 336 | The certificates and CRLs in a store are used internally and should |
280 | .Sy not | 337 | .Sy not |
281 | be freed up until after the associated | 338 | be freed up until after the associated |
@@ -316,6 +373,17 @@ if | |||
316 | .Fa ctx | 373 | .Fa ctx |
317 | was not initialised. | 374 | was not initialised. |
318 | .Pp | 375 | .Pp |
376 | .Fn X509_STORE_CTX_get0_cert | ||
377 | returns the internal pointer to the certificate to be verified or | ||
378 | .Dv NULL | ||
379 | if no such certificate was set. | ||
380 | .Pp | ||
381 | .Fn X509_STORE_CTX_get0_untrusted | ||
382 | returns the internal pointer | ||
383 | to the set of additional, untrusted certificates or | ||
384 | .Dv NULL | ||
385 | if no set of additional certificates was provided. | ||
386 | .Pp | ||
319 | .Fn X509_STORE_CTX_get0_param | 387 | .Fn X509_STORE_CTX_get0_param |
320 | returns a pointer to an | 388 | returns 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 |
327 | returns 1 for success or 0 if an error occurred. | 395 | returns 1 for success or 0 if an error occurred. |
328 | .Pp | ||
329 | .Fn X509_STORE_CTX_get0_untrusted | ||
330 | returns 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 |
369 | first appeared in OpenSSL 1.0.2. | 434 | first 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 , | ||
372 | and | 438 | and |
373 | .Fn X509_STORE_CTX_set0_untrusted | 439 | .Fn X509_STORE_CTX_get0_untrusted |
374 | first appeared in OpenSSL 1.1.0. | 440 | first appeared in OpenSSL 1.1.0. |
375 | These functions have been available since | 441 | These functions have been available since |
376 | .Ox 6.3 . | 442 | .Ox 6.3 . |
377 | .Sh BUGS | ||
378 | The certificates and CRLs in a context are used internally and should | ||
379 | .Sy not | ||
380 | be freed up until after the associated | ||
381 | .Vt X509_STORE_CTX | ||
382 | is freed. | ||
383 | Copies should be made or reference counts increased instead. | ||