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 | ||