diff options
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/libcrypto/x509/x509_local.h | 4 | ||||
-rw-r--r-- | src/lib/libcrypto/x509/x509_vfy.c | 20 |
2 files changed, 12 insertions, 12 deletions
diff --git a/src/lib/libcrypto/x509/x509_local.h b/src/lib/libcrypto/x509/x509_local.h index 374cba3d58..9ce1b58ed1 100644 --- a/src/lib/libcrypto/x509/x509_local.h +++ b/src/lib/libcrypto/x509/x509_local.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: x509_local.h,v 1.7 2023/04/28 16:30:14 tb Exp $ */ | 1 | /* $OpenBSD: x509_local.h,v 1.8 2023/05/08 14:51:00 tb Exp $ */ |
2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
3 | * project 2013. | 3 | * project 2013. |
4 | */ | 4 | */ |
@@ -327,10 +327,10 @@ struct x509_store_ctx_st { | |||
327 | /* The following are set by the caller */ | 327 | /* The following are set by the caller */ |
328 | X509 *cert; /* The cert to check */ | 328 | X509 *cert; /* The cert to check */ |
329 | STACK_OF(X509) *untrusted; /* chain of X509s - untrusted - passed in */ | 329 | STACK_OF(X509) *untrusted; /* chain of X509s - untrusted - passed in */ |
330 | STACK_OF(X509) *trusted; /* trusted stack for use with get_issuer() */ | ||
330 | STACK_OF(X509_CRL) *crls; /* set of CRLs passed in */ | 331 | STACK_OF(X509_CRL) *crls; /* set of CRLs passed in */ |
331 | 332 | ||
332 | X509_VERIFY_PARAM *param; | 333 | X509_VERIFY_PARAM *param; |
333 | void *other_ctx; /* Other info for use with get_issuer() */ | ||
334 | 334 | ||
335 | /* Callbacks for various operations */ | 335 | /* Callbacks for various operations */ |
336 | int (*verify)(X509_STORE_CTX *ctx); /* called to verify a certificate */ | 336 | int (*verify)(X509_STORE_CTX *ctx); /* called to verify a certificate */ |
diff --git a/src/lib/libcrypto/x509/x509_vfy.c b/src/lib/libcrypto/x509/x509_vfy.c index 461e1d2ef2..2410d39b86 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.121 2023/05/08 05:37:36 tb Exp $ */ | 1 | /* $OpenBSD: x509_vfy.c,v 1.122 2023/05/08 14:51:00 tb 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 | * |
@@ -144,7 +144,7 @@ static int X509_cmp_time_internal(const ASN1_TIME *ctm, time_t *cmp_time, | |||
144 | int clamp_notafter); | 144 | int clamp_notafter); |
145 | 145 | ||
146 | static int internal_verify(X509_STORE_CTX *ctx); | 146 | static int internal_verify(X509_STORE_CTX *ctx); |
147 | static int get_issuer_sk(X509 **issuer, X509_STORE_CTX *ctx, X509 *x); | 147 | static int get_trusted_issuer(X509 **issuer, X509_STORE_CTX *ctx, X509 *x); |
148 | static int check_key_level(X509_STORE_CTX *ctx, X509 *cert); | 148 | static int check_key_level(X509_STORE_CTX *ctx, X509 *cert); |
149 | static int verify_cb_cert(X509_STORE_CTX *ctx, X509 *x, int depth, int err); | 149 | static int verify_cb_cert(X509_STORE_CTX *ctx, X509 *x, int depth, int err); |
150 | 150 | ||
@@ -694,12 +694,12 @@ check_issued(X509_STORE_CTX *ctx, X509 *subject, X509 *issuer) | |||
694 | return X509_check_issued(issuer, subject) == X509_V_OK; | 694 | return X509_check_issued(issuer, subject) == X509_V_OK; |
695 | } | 695 | } |
696 | 696 | ||
697 | /* Alternative lookup method: look from a STACK stored in other_ctx */ | 697 | /* Alternative lookup method: look from a STACK stored in ctx->trusted */ |
698 | 698 | ||
699 | static int | 699 | static int |
700 | get_issuer_sk(X509 **issuer, X509_STORE_CTX *ctx, X509 *x) | 700 | get_trusted_issuer(X509 **issuer, X509_STORE_CTX *ctx, X509 *x) |
701 | { | 701 | { |
702 | *issuer = find_issuer(ctx, ctx->other_ctx, x, 1); | 702 | *issuer = find_issuer(ctx, ctx->trusted, x, 1); |
703 | if (*issuer) { | 703 | if (*issuer) { |
704 | CRYPTO_add(&(*issuer)->references, 1, CRYPTO_LOCK_X509); | 704 | CRYPTO_add(&(*issuer)->references, 1, CRYPTO_LOCK_X509); |
705 | return 1; | 705 | return 1; |
@@ -2434,17 +2434,17 @@ LCRYPTO_ALIAS(X509_STORE_CTX_init); | |||
2434 | */ | 2434 | */ |
2435 | 2435 | ||
2436 | void | 2436 | void |
2437 | X509_STORE_CTX_trusted_stack(X509_STORE_CTX *ctx, STACK_OF(X509) *sk) | 2437 | X509_STORE_CTX_trusted_stack(X509_STORE_CTX *ctx, STACK_OF(X509) *trusted) |
2438 | { | 2438 | { |
2439 | ctx->other_ctx = sk; | 2439 | X509_STORE_CTX_set0_trusted_stack(ctx, trusted); |
2440 | ctx->get_issuer = get_issuer_sk; | ||
2441 | } | 2440 | } |
2442 | LCRYPTO_ALIAS(X509_STORE_CTX_trusted_stack); | 2441 | LCRYPTO_ALIAS(X509_STORE_CTX_trusted_stack); |
2443 | 2442 | ||
2444 | void | 2443 | void |
2445 | X509_STORE_CTX_set0_trusted_stack(X509_STORE_CTX *ctx, STACK_OF(X509) *sk) | 2444 | X509_STORE_CTX_set0_trusted_stack(X509_STORE_CTX *ctx, STACK_OF(X509) *trusted) |
2446 | { | 2445 | { |
2447 | X509_STORE_CTX_trusted_stack(ctx, sk); | 2446 | ctx->trusted = trusted; |
2447 | ctx->get_issuer = get_trusted_issuer; | ||
2448 | } | 2448 | } |
2449 | LCRYPTO_ALIAS(X509_STORE_CTX_set0_trusted_stack); | 2449 | LCRYPTO_ALIAS(X509_STORE_CTX_set0_trusted_stack); |
2450 | 2450 | ||