diff options
| author | jsing <> | 2018-02-14 17:06:34 +0000 |
|---|---|---|
| committer | jsing <> | 2018-02-14 17:06:34 +0000 |
| commit | d6fd917a93bf5944b60715bb895744b26c7bfd4e (patch) | |
| tree | 64a20b44f90ff6c3b7188730026c824f9e2ac041 /src | |
| parent | c46ba7482ab6670501b4e03ceadbf235aa22b0e7 (diff) | |
| download | openbsd-d6fd917a93bf5944b60715bb895744b26c7bfd4e.tar.gz openbsd-d6fd917a93bf5944b60715bb895744b26c7bfd4e.tar.bz2 openbsd-d6fd917a93bf5944b60715bb895744b26c7bfd4e.zip | |
Provide X509_STORE_CTX_get0_{cert,untrusted}() and
X509_STORE_CTX_set0_{trusted_stack,untrusted}().
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/libcrypto/Symbols.list | 4 | ||||
| -rw-r--r-- | src/lib/libcrypto/x509/x509_vfy.c | 26 | ||||
| -rw-r--r-- | src/lib/libcrypto/x509/x509_vfy.h | 8 |
3 files changed, 35 insertions, 3 deletions
diff --git a/src/lib/libcrypto/Symbols.list b/src/lib/libcrypto/Symbols.list index 540213232b..d9cbe853a9 100644 --- a/src/lib/libcrypto/Symbols.list +++ b/src/lib/libcrypto/Symbols.list | |||
| @@ -2741,11 +2741,13 @@ X509_SIG_it | |||
| 2741 | X509_SIG_new | 2741 | X509_SIG_new |
| 2742 | X509_STORE_CTX_cleanup | 2742 | X509_STORE_CTX_cleanup |
| 2743 | X509_STORE_CTX_free | 2743 | X509_STORE_CTX_free |
| 2744 | X509_STORE_CTX_get0_cert | ||
| 2744 | X509_STORE_CTX_get0_current_crl | 2745 | X509_STORE_CTX_get0_current_crl |
| 2745 | X509_STORE_CTX_get0_current_issuer | 2746 | X509_STORE_CTX_get0_current_issuer |
| 2746 | X509_STORE_CTX_get0_param | 2747 | X509_STORE_CTX_get0_param |
| 2747 | X509_STORE_CTX_get0_parent_ctx | 2748 | X509_STORE_CTX_get0_parent_ctx |
| 2748 | X509_STORE_CTX_get0_policy_tree | 2749 | X509_STORE_CTX_get0_policy_tree |
| 2750 | X509_STORE_CTX_get0_untrusted | ||
| 2749 | X509_STORE_CTX_get1_chain | 2751 | X509_STORE_CTX_get1_chain |
| 2750 | X509_STORE_CTX_get1_issuer | 2752 | X509_STORE_CTX_get1_issuer |
| 2751 | X509_STORE_CTX_get_chain | 2753 | X509_STORE_CTX_get_chain |
| @@ -2760,6 +2762,8 @@ X509_STORE_CTX_new | |||
| 2760 | X509_STORE_CTX_purpose_inherit | 2762 | X509_STORE_CTX_purpose_inherit |
| 2761 | X509_STORE_CTX_set0_crls | 2763 | X509_STORE_CTX_set0_crls |
| 2762 | X509_STORE_CTX_set0_param | 2764 | X509_STORE_CTX_set0_param |
| 2765 | X509_STORE_CTX_set0_trusted_stack | ||
| 2766 | X509_STORE_CTX_set0_untrusted | ||
| 2763 | X509_STORE_CTX_set_cert | 2767 | X509_STORE_CTX_set_cert |
| 2764 | X509_STORE_CTX_set_chain | 2768 | X509_STORE_CTX_set_chain |
| 2765 | X509_STORE_CTX_set_default | 2769 | X509_STORE_CTX_set_default |
diff --git a/src/lib/libcrypto/x509/x509_vfy.c b/src/lib/libcrypto/x509/x509_vfy.c index 8efff680c1..70e03cf436 100644 --- a/src/lib/libcrypto/x509/x509_vfy.c +++ b/src/lib/libcrypto/x509/x509_vfy.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x509_vfy.c,v 1.66 2017/08/27 01:39:26 beck Exp $ */ | 1 | /* $OpenBSD: x509_vfy.c,v 1.67 2018/02/14 17:06:34 jsing Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -2302,6 +2302,12 @@ X509_STORE_CTX_trusted_stack(X509_STORE_CTX *ctx, STACK_OF(X509) *sk) | |||
| 2302 | } | 2302 | } |
| 2303 | 2303 | ||
| 2304 | void | 2304 | void |
| 2305 | X509_STORE_CTX_set0_trusted_stack(X509_STORE_CTX *ctx, STACK_OF(X509) *sk) | ||
| 2306 | { | ||
| 2307 | X509_STORE_CTX_trusted_stack(ctx, sk); | ||
| 2308 | } | ||
| 2309 | |||
| 2310 | void | ||
| 2305 | X509_STORE_CTX_cleanup(X509_STORE_CTX *ctx) | 2311 | X509_STORE_CTX_cleanup(X509_STORE_CTX *ctx) |
| 2306 | { | 2312 | { |
| 2307 | if (ctx->cleanup) | 2313 | if (ctx->cleanup) |
| @@ -2349,6 +2355,24 @@ X509_STORE_CTX_set_verify_cb(X509_STORE_CTX *ctx, | |||
| 2349 | ctx->verify_cb = verify_cb; | 2355 | ctx->verify_cb = verify_cb; |
| 2350 | } | 2356 | } |
| 2351 | 2357 | ||
| 2358 | X509 * | ||
| 2359 | X509_STORE_CTX_get0_cert(X509_STORE_CTX *ctx) | ||
| 2360 | { | ||
| 2361 | return ctx->cert; | ||
| 2362 | } | ||
| 2363 | |||
| 2364 | STACK_OF(X509) * | ||
| 2365 | X509_STORE_CTX_get0_untrusted(X509_STORE_CTX *ctx) | ||
| 2366 | { | ||
| 2367 | return ctx->untrusted; | ||
| 2368 | } | ||
| 2369 | |||
| 2370 | void | ||
| 2371 | X509_STORE_CTX_set0_untrusted(X509_STORE_CTX *ctx, STACK_OF(X509) *sk) | ||
| 2372 | { | ||
| 2373 | ctx->untrusted = sk; | ||
| 2374 | } | ||
| 2375 | |||
| 2352 | X509_POLICY_TREE * | 2376 | X509_POLICY_TREE * |
| 2353 | X509_STORE_CTX_get0_policy_tree(X509_STORE_CTX *ctx) | 2377 | X509_STORE_CTX_get0_policy_tree(X509_STORE_CTX *ctx) |
| 2354 | { | 2378 | { |
diff --git a/src/lib/libcrypto/x509/x509_vfy.h b/src/lib/libcrypto/x509/x509_vfy.h index a9cf7e0eda..ed49179133 100644 --- a/src/lib/libcrypto/x509/x509_vfy.h +++ b/src/lib/libcrypto/x509/x509_vfy.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x509_vfy.h,v 1.19 2018/02/10 04:33:47 jsing Exp $ */ | 1 | /* $OpenBSD: x509_vfy.h,v 1.20 2018/02/14 17:06:34 jsing Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -446,7 +446,11 @@ int X509_STORE_CTX_get1_issuer(X509 **issuer, X509_STORE_CTX *ctx, X509 *x); | |||
| 446 | void X509_STORE_CTX_free(X509_STORE_CTX *ctx); | 446 | void X509_STORE_CTX_free(X509_STORE_CTX *ctx); |
| 447 | int X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *store, | 447 | int X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *store, |
| 448 | X509 *x509, STACK_OF(X509) *chain); | 448 | X509 *x509, STACK_OF(X509) *chain); |
| 449 | X509 *X509_STORE_CTX_get0_cert(X509_STORE_CTX *ctx); | ||
| 450 | STACK_OF(X509) *X509_STORE_CTX_get0_untrusted(X509_STORE_CTX *ctx); | ||
| 451 | void X509_STORE_CTX_set0_untrusted(X509_STORE_CTX *ctx, STACK_OF(X509) *sk); | ||
| 449 | void X509_STORE_CTX_trusted_stack(X509_STORE_CTX *ctx, STACK_OF(X509) *sk); | 452 | void X509_STORE_CTX_trusted_stack(X509_STORE_CTX *ctx, STACK_OF(X509) *sk); |
| 453 | void X509_STORE_CTX_set0_trusted_stack(X509_STORE_CTX *ctx, STACK_OF(X509) *sk); | ||
| 450 | void X509_STORE_CTX_cleanup(X509_STORE_CTX *ctx); | 454 | void X509_STORE_CTX_cleanup(X509_STORE_CTX *ctx); |
| 451 | 455 | ||
| 452 | X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m); | 456 | X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m); |
| @@ -512,7 +516,7 @@ void X509_STORE_CTX_set_time(X509_STORE_CTX *ctx, unsigned long flags, | |||
| 512 | time_t t); | 516 | time_t t); |
| 513 | void X509_STORE_CTX_set_verify_cb(X509_STORE_CTX *ctx, | 517 | void X509_STORE_CTX_set_verify_cb(X509_STORE_CTX *ctx, |
| 514 | int (*verify_cb)(int, X509_STORE_CTX *)); | 518 | int (*verify_cb)(int, X509_STORE_CTX *)); |
| 515 | 519 | ||
| 516 | X509_POLICY_TREE *X509_STORE_CTX_get0_policy_tree(X509_STORE_CTX *ctx); | 520 | X509_POLICY_TREE *X509_STORE_CTX_get0_policy_tree(X509_STORE_CTX *ctx); |
| 517 | int X509_STORE_CTX_get_explicit_policy(X509_STORE_CTX *ctx); | 521 | int X509_STORE_CTX_get_explicit_policy(X509_STORE_CTX *ctx); |
| 518 | 522 | ||
