mirror of
https://github.com/openssl/openssl.git
synced 2024-11-27 05:21:51 +08:00
Add flag to inhibit checking for alternate certificate chains. Setting this
behaviour will force behaviour as per previous versions of OpenSSL Reviewed-by: Dr. Stephen Henson <steve@openssl.org>
This commit is contained in:
parent
da084a5ec6
commit
15dba5be6a
@ -357,11 +357,13 @@ int X509_verify_cert(X509_STORE_CTX *ctx)
|
||||
/*
|
||||
* If it's not explicitly trusted then check if there is an alternative
|
||||
* chain that could be used. We only do this if we haven't already
|
||||
* checked via TRUSTED_FIRST
|
||||
* checked via TRUSTED_FIRST and the user hasn't switched off alternate
|
||||
* chain checking
|
||||
*/
|
||||
retry = 0;
|
||||
if (i != X509_TRUST_TRUSTED
|
||||
&& !(ctx->param->flags & X509_V_FLAG_TRUSTED_FIRST)) {
|
||||
&& !(ctx->param->flags & X509_V_FLAG_TRUSTED_FIRST)
|
||||
&& !(ctx->param->flags & X509_V_FLAG_NO_ALT_CHAINS)) {
|
||||
while (j-- > 1) {
|
||||
xtmp2 = sk_X509_value(ctx->chain, j - 1);
|
||||
ok = ctx->get_issuer(&xtmp, ctx, xtmp2);
|
||||
|
@ -419,6 +419,12 @@ void X509_STORE_CTX_set_depth(X509_STORE_CTX *ctx, int depth);
|
||||
# define X509_V_FLAG_SUITEB_128_LOS 0x30000
|
||||
/* Allow partial chains if at least one certificate is in trusted store */
|
||||
# define X509_V_FLAG_PARTIAL_CHAIN 0x80000
|
||||
/*
|
||||
* If the initial chain is not trusted, do not attempt to build an alternative
|
||||
* chain. Alternate chain checking was introduced in 1.1.0. Setting this flag
|
||||
* will force the behaviour to match that of previous versions.
|
||||
*/
|
||||
# define X509_V_FLAG_NO_ALT_CHAINS 0x100000
|
||||
|
||||
# define X509_VP_FLAG_DEFAULT 0x1
|
||||
# define X509_VP_FLAG_OVERWRITE 0x2
|
||||
|
Loading…
Reference in New Issue
Block a user