diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/libcrypto/man/X509_STORE_CTX_new.3 | 151 |
1 files changed, 66 insertions, 85 deletions
diff --git a/src/lib/libcrypto/man/X509_STORE_CTX_new.3 b/src/lib/libcrypto/man/X509_STORE_CTX_new.3 index d29bcf10fc..1bc90b5ac4 100644 --- a/src/lib/libcrypto/man/X509_STORE_CTX_new.3 +++ b/src/lib/libcrypto/man/X509_STORE_CTX_new.3 | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | .\" $OpenBSD: X509_STORE_CTX_new.3,v 1.22 2021/07/22 17:11:14 schwarze Exp $ | 1 | .\" $OpenBSD: X509_STORE_CTX_new.3,v 1.23 2021/07/22 19:09:26 schwarze Exp $ |
| 2 | .\" full merge up to: OpenSSL aae41f8c Jun 25 09:47:15 2015 +0100 | 2 | .\" full merge up to: OpenSSL aae41f8c Jun 25 09:47:15 2015 +0100 |
| 3 | .\" selective merge up to: OpenSSL 24a535ea Sep 22 13:14:20 2020 +0100 | 3 | .\" selective merge up to: OpenSSL 24a535ea Sep 22 13:14:20 2020 +0100 |
| 4 | .\" | 4 | .\" |
| @@ -72,9 +72,9 @@ | |||
| 72 | .Os | 72 | .Os |
| 73 | .Sh NAME | 73 | .Sh NAME |
| 74 | .Nm X509_STORE_CTX_new , | 74 | .Nm X509_STORE_CTX_new , |
| 75 | .Nm X509_STORE_CTX_init , | ||
| 75 | .Nm X509_STORE_CTX_cleanup , | 76 | .Nm X509_STORE_CTX_cleanup , |
| 76 | .Nm X509_STORE_CTX_free , | 77 | .Nm X509_STORE_CTX_free , |
| 77 | .Nm X509_STORE_CTX_init , | ||
| 78 | .Nm X509_STORE_CTX_get0_store , | 78 | .Nm X509_STORE_CTX_get0_store , |
| 79 | .Nm X509_STORE_CTX_set0_trusted_stack , | 79 | .Nm X509_STORE_CTX_set0_trusted_stack , |
| 80 | .Nm X509_STORE_CTX_trusted_stack , | 80 | .Nm X509_STORE_CTX_trusted_stack , |
| @@ -90,6 +90,13 @@ | |||
| 90 | .In openssl/x509_vfy.h | 90 | .In openssl/x509_vfy.h |
| 91 | .Ft X509_STORE_CTX * | 91 | .Ft X509_STORE_CTX * |
| 92 | .Fn X509_STORE_CTX_new void | 92 | .Fn X509_STORE_CTX_new void |
| 93 | .Ft int | ||
| 94 | .Fo X509_STORE_CTX_init | ||
| 95 | .Fa "X509_STORE_CTX *ctx" | ||
| 96 | .Fa "X509_STORE *store" | ||
| 97 | .Fa "X509 *x" | ||
| 98 | .Fa "STACK_OF(X509) *untrusted" | ||
| 99 | .Fc | ||
| 93 | .Ft void | 100 | .Ft void |
| 94 | .Fo X509_STORE_CTX_cleanup | 101 | .Fo X509_STORE_CTX_cleanup |
| 95 | .Fa "X509_STORE_CTX *ctx" | 102 | .Fa "X509_STORE_CTX *ctx" |
| @@ -98,13 +105,6 @@ | |||
| 98 | .Fo X509_STORE_CTX_free | 105 | .Fo X509_STORE_CTX_free |
| 99 | .Fa "X509_STORE_CTX *ctx" | 106 | .Fa "X509_STORE_CTX *ctx" |
| 100 | .Fc | 107 | .Fc |
| 101 | .Ft int | ||
| 102 | .Fo X509_STORE_CTX_init | ||
| 103 | .Fa "X509_STORE_CTX *ctx" | ||
| 104 | .Fa "X509_STORE *store" | ||
| 105 | .Fa "X509 *x509" | ||
| 106 | .Fa "STACK_OF(X509) *chain" | ||
| 107 | .Fc | ||
| 108 | .Ft X509_STORE * | 108 | .Ft X509_STORE * |
| 109 | .Fo X509_STORE_CTX_get0_store | 109 | .Fo X509_STORE_CTX_get0_store |
| 110 | .Fa "X509_STORE_CTX *ctx" | 110 | .Fa "X509_STORE_CTX *ctx" |
| @@ -112,12 +112,12 @@ | |||
| 112 | .Ft void | 112 | .Ft void |
| 113 | .Fo X509_STORE_CTX_set0_trusted_stack | 113 | .Fo X509_STORE_CTX_set0_trusted_stack |
| 114 | .Fa "X509_STORE_CTX *ctx" | 114 | .Fa "X509_STORE_CTX *ctx" |
| 115 | .Fa "STACK_OF(X509) *sk" | 115 | .Fa "STACK_OF(X509) *trusted" |
| 116 | .Fc | 116 | .Fc |
| 117 | .Ft void | 117 | .Ft void |
| 118 | .Fo X509_STORE_CTX_trusted_stack | 118 | .Fo X509_STORE_CTX_trusted_stack |
| 119 | .Fa "X509_STORE_CTX *ctx" | 119 | .Fa "X509_STORE_CTX *ctx" |
| 120 | .Fa "STACK_OF(X509) *sk" | 120 | .Fa "STACK_OF(X509) *trusted" |
| 121 | .Fc | 121 | .Fc |
| 122 | .Ft void | 122 | .Ft void |
| 123 | .Fo X509_STORE_CTX_set_cert | 123 | .Fo X509_STORE_CTX_set_cert |
| @@ -131,12 +131,12 @@ | |||
| 131 | .Ft void | 131 | .Ft void |
| 132 | .Fo X509_STORE_CTX_set_chain | 132 | .Fo X509_STORE_CTX_set_chain |
| 133 | .Fa "X509_STORE_CTX *ctx" | 133 | .Fa "X509_STORE_CTX *ctx" |
| 134 | .Fa "STACK_OF(X509) *sk" | 134 | .Fa "STACK_OF(X509) *untrusted" |
| 135 | .Fc | 135 | .Fc |
| 136 | .Ft void | 136 | .Ft void |
| 137 | .Fo X509_STORE_CTX_set0_untrusted | 137 | .Fo X509_STORE_CTX_set0_untrusted |
| 138 | .Fa "X509_STORE_CTX *ctx" | 138 | .Fa "X509_STORE_CTX *ctx" |
| 139 | .Fa "STACK_OF(X509) *sk" | 139 | .Fa "STACK_OF(X509) *untrusted" |
| 140 | .Fc | 140 | .Fc |
| 141 | .Ft STACK_OF(X509) * | 141 | .Ft STACK_OF(X509) * |
| 142 | .Fo X509_STORE_CTX_get0_untrusted | 142 | .Fo X509_STORE_CTX_get0_untrusted |
| @@ -145,75 +145,62 @@ | |||
| 145 | .Ft void | 145 | .Ft void |
| 146 | .Fo X509_STORE_CTX_set0_crls | 146 | .Fo X509_STORE_CTX_set0_crls |
| 147 | .Fa "X509_STORE_CTX *ctx" | 147 | .Fa "X509_STORE_CTX *ctx" |
| 148 | .Fa "STACK_OF(X509_CRL) *sk" | 148 | .Fa "STACK_OF(X509_CRL) *crls" |
| 149 | .Fc | 149 | .Fc |
| 150 | .Sh DESCRIPTION | 150 | .Sh DESCRIPTION |
| 151 | These functions initialise an | 151 | These functions set up an |
| 152 | .Vt X509_STORE_CTX | 152 | .Vt X509_STORE_CTX |
| 153 | structure for subsequent use by | 153 | object for subsequent use by |
| 154 | .Xr X509_verify_cert 3 . | 154 | .Xr X509_verify_cert 3 . |
| 155 | .Pp | 155 | .Pp |
| 156 | .Fn X509_STORE_CTX_new | 156 | .Fn X509_STORE_CTX_new |
| 157 | returns a newly initialised | 157 | allocates an empty |
| 158 | .Vt X509_STORE_CTX | 158 | .Vt X509_STORE_CTX |
| 159 | structure. | 159 | object not yet containing the subobjects required for normal operation. |
| 160 | .Pp | ||
| 161 | .Fn X509_STORE_CTX_cleanup | ||
| 162 | internally cleans up an | ||
| 163 | .Vt X509_STORE_CTX | ||
| 164 | structure. | ||
| 165 | The context can then be reused with a new call to | ||
| 166 | .Fn X509_STORE_CTX_init . | ||
| 167 | Calling both of these functions is required before | ||
| 168 | .Xr X509_verify_cert 3 | ||
| 169 | can be called on the same | ||
| 170 | .Fa ctx | ||
| 171 | another time. | ||
| 172 | .Pp | ||
| 173 | .Fn X509_STORE_CTX_free | ||
| 174 | completely frees up | ||
| 175 | .Fa ctx . | ||
| 176 | After this call | ||
| 177 | .Fa ctx | ||
| 178 | is no longer valid. | ||
| 179 | If | ||
| 180 | .Fa ctx | ||
| 181 | is a | ||
| 182 | .Dv NULL | ||
| 183 | pointer, no action occurs. | ||
| 184 | .Pp | 160 | .Pp |
| 185 | .Fn X509_STORE_CTX_init | 161 | .Fn X509_STORE_CTX_init |
| 186 | sets up | 162 | needs to be called on each new |
| 187 | .Fa ctx | 163 | .Fa ctx |
| 188 | for one single subsequent verification operation using | 164 | before any of the other functions become useful. |
| 165 | It prepares | ||
| 166 | .Fa ctx | ||
| 167 | for one single verification operation using | ||
| 189 | .Xr X509_verify_cert 3 . | 168 | .Xr X509_verify_cert 3 . |
| 190 | The trusted certificate store is set to | 169 | The trusted certificate |
| 191 | .Fa store , | 170 | .Fa store |
| 192 | the end entity certificate to be verified is set to | 171 | to be used, the end entity certificate |
| 193 | .Fa x509 , | 172 | .Fa x |
| 194 | and a set of additional certificates (which will be untrusted but may be | 173 | to be verified, and a set of additional |
| 195 | used to build the chain) can be supplied in | 174 | .Fa untrusted |
| 196 | .Fa chain . | 175 | certificates, to be used for building the chain, |
| 197 | Any or all of the | 176 | can be supplied, or any or all of them can be set to |
| 198 | .Fa store , | ||
| 199 | .Fa x509 , | ||
| 200 | and | ||
| 201 | .Fa chain | ||
| 202 | parameters can be | ||
| 203 | .Dv NULL . | 177 | .Dv NULL . |
| 204 | The three pointers passed in are stored internally, the three objects | 178 | The three pointers passed in are stored internally, the three objects |
| 205 | pointed to are not copied, their reference count is not incremented, | 179 | pointed to are not copied, their reference count is not incremented, |
| 206 | and the caller remains responsible for managing their storage and for | 180 | and the caller remains responsible for managing their storage and for |
| 207 | not freeing them until either | 181 | not freeing them before |
| 208 | .Fn X509_STORE_CTX_free | 182 | .Fn X509_STORE_CTX_free |
| 209 | is called on | 183 | is called on |
| 210 | .Fa ctx | 184 | .Fa ctx . |
| 211 | or until both | 185 | .Pp |
| 212 | .Fn X509_STORE_CTX_cleanup | 186 | .Fn X509_STORE_CTX_cleanup |
| 213 | and | 187 | internally cleans up |
| 214 | .Fn X509_STORE_CTX_init | 188 | .Fa ctx , |
| 215 | are called on | 189 | returning it to an empty state similar to the one after |
| 190 | .Fn X509_STORE_CTX_new . | ||
| 191 | It can then be reused with a new call to | ||
| 192 | .Fn X509_STORE_CTX_init . | ||
| 193 | .Pp | ||
| 194 | .Fn X509_STORE_CTX_free | ||
| 195 | calls | ||
| 196 | .Fn X509_STORE_CTX_cleanup | ||
| 197 | and frees the storage pointed to by | ||
| 216 | .Fa ctx . | 198 | .Fa ctx . |
| 199 | If | ||
| 200 | .Fa ctx | ||
| 201 | is a | ||
| 202 | .Dv NULL | ||
| 203 | pointer, no action occurs. | ||
| 217 | .Pp | 204 | .Pp |
| 218 | .Fn X509_STORE_CTX_get0_store | 205 | .Fn X509_STORE_CTX_get0_store |
| 219 | returns the internal pointer to the trusted certificate | 206 | returns the internal pointer to the trusted certificate |
| @@ -222,13 +209,13 @@ that was set with | |||
| 222 | .Fn X509_STORE_CTX_init . | 209 | .Fn X509_STORE_CTX_init . |
| 223 | .Pp | 210 | .Pp |
| 224 | .Fn X509_STORE_CTX_set0_trusted_stack | 211 | .Fn X509_STORE_CTX_set0_trusted_stack |
| 225 | sets the set of trusted certificates of | 212 | sets the set of |
| 226 | .Fa ctx | 213 | .Fa trusted |
| 227 | to | 214 | certificates used by |
| 228 | .Fa sk . | 215 | .Fa ctx . |
| 229 | This is an alternative way of specifying trusted certificates instead of | 216 | This is an alternative way of specifying trusted certificates instead of |
| 230 | using an | 217 | using the |
| 231 | .Vt X509_STORE . | 218 | .Fa store . |
| 232 | .Fn X509_STORE_CTX_trusted_stack | 219 | .Fn X509_STORE_CTX_trusted_stack |
| 233 | is a deprecated alias for | 220 | is a deprecated alias for |
| 234 | .Fn X509_STORE_CTX_set0_trusted_stack . | 221 | .Fn X509_STORE_CTX_set0_trusted_stack . |
| @@ -254,10 +241,10 @@ or | |||
| 254 | .Fn X509_STORE_CTX_set_chain | 241 | .Fn X509_STORE_CTX_set_chain |
| 255 | and | 242 | and |
| 256 | .Fn X509_STORE_CTX_set0_untrusted | 243 | .Fn X509_STORE_CTX_set0_untrusted |
| 257 | are identical and set the additional, untrusted certificates used by | 244 | are identical and set the additional, |
| 258 | .Fa ctx | 245 | .Fa untrusted |
| 259 | to | 246 | certificates used by |
| 260 | .Fa sk , | 247 | .Fa ctx , |
| 261 | overriding the set of additional, untrusted certificates that was set with | 248 | overriding the set of additional, untrusted certificates that was set with |
| 262 | .Fn X509_STORE_CTX_init . | 249 | .Fn X509_STORE_CTX_init . |
| 263 | Again, the set and the certificates contained in it are not copied | 250 | Again, the set and the certificates contained in it are not copied |
| @@ -274,8 +261,9 @@ or | |||
| 274 | .Fn X509_STORE_CTX_set0_untrusted . | 261 | .Fn X509_STORE_CTX_set0_untrusted . |
| 275 | .Pp | 262 | .Pp |
| 276 | .Fn X509_STORE_CTX_set0_crls | 263 | .Fn X509_STORE_CTX_set0_crls |
| 277 | sets a set of CRLs to use to aid certificate verification to | 264 | sets a set of |
| 278 | .Fa sk . | 265 | .Fa crls |
| 266 | to use during certificate verification. | ||
| 279 | These CRLs will only be used if CRL verification is enabled in the | 267 | These CRLs will only be used if CRL verification is enabled in the |
| 280 | associated | 268 | associated |
| 281 | .Vt X509_VERIFY_PARAM | 269 | .Vt X509_VERIFY_PARAM |
| @@ -283,11 +271,6 @@ structure. | |||
| 283 | This might be used where additional "useful" CRLs are supplied as part | 271 | This might be used where additional "useful" CRLs are supplied as part |
| 284 | of a protocol, for example in a PKCS#7 structure. | 272 | of a protocol, for example in a PKCS#7 structure. |
| 285 | .Pp | 273 | .Pp |
| 286 | The certificates and CRLs in a store are used internally and should | ||
| 287 | .Sy not | ||
| 288 | be freed up until after the associated | ||
| 289 | .Vt X509_STORE_CTX | ||
| 290 | is freed. | ||
| 291 | Legacy applications might implicitly use an | 274 | Legacy applications might implicitly use an |
| 292 | .Vt X509_STORE_CTX | 275 | .Vt X509_STORE_CTX |
| 293 | like this: | 276 | like this: |
| @@ -317,11 +300,9 @@ if an error occurred. | |||
| 317 | returns 1 for success or 0 if an error occurred. | 300 | returns 1 for success or 0 if an error occurred. |
| 318 | .Pp | 301 | .Pp |
| 319 | .Fn X509_STORE_CTX_get0_store | 302 | .Fn X509_STORE_CTX_get0_store |
| 320 | returns a pointer to the trusted certificate store or | 303 | returns the internal pointer to the trusted certificate store or |
| 321 | .Dv NULL | 304 | .Dv NULL |
| 322 | if | 305 | if none was set. |
| 323 | .Fa ctx | ||
| 324 | was not initialised. | ||
| 325 | .Pp | 306 | .Pp |
| 326 | .Fn X509_STORE_CTX_get0_cert | 307 | .Fn X509_STORE_CTX_get0_cert |
| 327 | returns the internal pointer to the certificate to be verified or | 308 | returns the internal pointer to the certificate to be verified or |
| @@ -343,8 +324,8 @@ if no set of additional certificates was provided. | |||
| 343 | .Xr X509_verify_cert 3 , | 324 | .Xr X509_verify_cert 3 , |
| 344 | .Xr X509_VERIFY_PARAM_set_flags 3 | 325 | .Xr X509_VERIFY_PARAM_set_flags 3 |
| 345 | .Sh HISTORY | 326 | .Sh HISTORY |
| 346 | .Fn X509_STORE_CTX_cleanup , | ||
| 347 | .Fn X509_STORE_CTX_init , | 327 | .Fn X509_STORE_CTX_init , |
| 328 | .Fn X509_STORE_CTX_cleanup , | ||
| 348 | .Fn X509_STORE_CTX_set_cert , | 329 | .Fn X509_STORE_CTX_set_cert , |
| 349 | and | 330 | and |
| 350 | .Fn X509_STORE_CTX_set_chain | 331 | .Fn X509_STORE_CTX_set_chain |
