diff options
Diffstat (limited to 'doc/man3/X509_VERIFY_PARAM_set_flags.pod')
-rw-r--r-- | doc/man3/X509_VERIFY_PARAM_set_flags.pod | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/doc/man3/X509_VERIFY_PARAM_set_flags.pod b/doc/man3/X509_VERIFY_PARAM_set_flags.pod index f34020cbaa..72da4cb143 100644 --- a/doc/man3/X509_VERIFY_PARAM_set_flags.pod +++ b/doc/man3/X509_VERIFY_PARAM_set_flags.pod @@ -112,8 +112,8 @@ A maximal depth chain contains 2 more certificates than the limit, since neither the end-entity certificate nor the trust-anchor count against this limit. Thus a B<depth> limit of 0 only allows the end-entity certificate to be signed -directly by the trust-anchor, while with a B<depth> limit of 1 there can be one -intermediate CA certificate between the trust-anchor and the end-entity +directly by the trust anchor, while with a B<depth> limit of 1 there can be one +intermediate CA certificate between the trust anchor and the end-entity certificate. X509_VERIFY_PARAM_set_auth_level() sets the authentication security level to @@ -283,24 +283,25 @@ they are enabled. If B<X509_V_FLAG_USE_DELTAS> is set delta CRLs (if present) are used to determine certificate status. If not set deltas are ignored. -B<X509_V_FLAG_CHECK_SS_SIGNATURE> enables checking of the root CA self signed -certificate signature. By default this check is disabled because it doesn't +B<X509_V_FLAG_CHECK_SS_SIGNATURE> requires verifying the signature of the last +certificate in a chain even when it is a self-signed (root CA) certificate. +In this case the check is disabled by default because it does not add any additional security but in some cases applications might want to check the signature anyway. A side effect of not checking the root CA signature is that disabled or unsupported message digests on the root CA are not treated as fatal errors. -When B<X509_V_FLAG_TRUSTED_FIRST> is set, construction of the certificate chain -in L<X509_verify_cert(3)> will search the trust store for issuer certificates +When B<X509_V_FLAG_TRUSTED_FIRST> is set, which is always the case since +OpenSSL 1.1.0, construction of the certificate chain +in L<X509_verify_cert(3)> searches the trust store for issuer certificates before searching the provided untrusted certificates. Local issuer certificates are often more likely to satisfy local security requirements and lead to a locally trusted root. This is especially important when some certificates in the trust store have explicit trust settings (see "TRUST SETTINGS" in L<openssl-x509(1)>). -As of OpenSSL 1.1.0 this option is on by default. -The B<X509_V_FLAG_NO_ALT_CHAINS> flag suppresses checking for alternative -chains. +The B<X509_V_FLAG_NO_ALT_CHAINS> flag could have been used before OpenSSL 1.1.0 +to suppress checking for alternative chains. By default, unless B<X509_V_FLAG_TRUSTED_FIRST> is set, when building a certificate chain, if the first certificate chain found is not trusted, then OpenSSL will attempt to replace untrusted certificates supplied by the peer @@ -309,15 +310,15 @@ found that is trusted. As of OpenSSL 1.1.0, with B<X509_V_FLAG_TRUSTED_FIRST> always set, this option has no effect. -The B<X509_V_FLAG_PARTIAL_CHAIN> flag causes intermediate certificates in the -trust store to be treated as trust-anchors, in the same way as the self-signed +The B<X509_V_FLAG_PARTIAL_CHAIN> flag causes non-self-signed certificates in the +trust store to be treated as trust anchors, in the same way as self-signed root CA certificates. -This makes it possible to trust certificates issued by an intermediate CA -without having to trust its ancestor root CA. +This makes it possible to trust self-issued certificates as well as certificates +issued by an intermediate CA without having to trust their ancestor root CA. With OpenSSL 1.1.0 and later and <X509_V_FLAG_PARTIAL_CHAIN> set, chain -construction stops as soon as the first certificate from the trust store is -added to the chain, whether that certificate is a self-signed "root" -certificate or a not self-signed intermediate certificate. +construction stops as soon as the first certificate contained in the trust store +is added to the chain, whether that certificate is a self-signed "root" +certificate or a not self-signed "intermediate" or self-issued certificate. Thus, when an intermediate certificate is found in the trust store, the verified chain passed to callbacks may be shorter than it otherwise would be without the B<X509_V_FLAG_PARTIAL_CHAIN> flag. |