summaryrefslogtreecommitdiffstats
path: root/doc/man1
diff options
context:
space:
mode:
authorDr. David von Oheimb <David.von.Oheimb@siemens.com>2020-12-01 14:22:16 +0100
committerDr. David von Oheimb <David.von.Oheimb@siemens.com>2020-12-03 14:06:49 +0100
commit3bed88a3970605a2ff817065f93b08e965d89e5f (patch)
treee7d169ec545cbee70c5043ec2a5bc7f62233706b /doc/man1
parentapps/pkcs12.c: Improve user guidance, re-ordering no-export vs. export options (diff)
downloadopenssl-3bed88a3970605a2ff817065f93b08e965d89e5f.tar.xz
openssl-3bed88a3970605a2ff817065f93b08e965d89e5f.zip
x509_vfy.c: Restore rejection of expired trusted (root) certificate
The certificate path validation procedure specified in RFC 5280 does not include checking the validity period of the trusted (root) certificate. Still it is common good practice to perform this check. Also OpenSSL did this until commit 0e7b1383e, which accidentally killed it. The current commit restores the previous behavior. It also removes the cause of that bug, namely counter-intuitive design of the internal function check_issued(), which was complicated by checks that actually belong to some other internal function, namely find_issuer(). Moreover, this commit adds a regression check and proper documentation of the root cert validity period check feature, which had been missing so far. Fixes #13427 Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org> (Merged from https://github.com/openssl/openssl/pull/13590)
Diffstat (limited to 'doc/man1')
-rw-r--r--doc/man1/openssl.pod11
1 files changed, 6 insertions, 5 deletions
diff --git a/doc/man1/openssl.pod b/doc/man1/openssl.pod
index 0bb37d415d..ace96274f9 100644
--- a/doc/man1/openssl.pod
+++ b/doc/man1/openssl.pod
@@ -847,11 +847,12 @@ For compatibility with previous versions of OpenSSL,
a certificate with no trust settings is considered to be valid for all purposes.
The fourth, and final, step is to check the validity of the certificate chain.
-The validity period is checked against the system time
-and the C<notBefore> and C<notAfter> dates in each certificate.
-The B<-attime> flag may be used to specify a time other than "now."
-The certificate signatures are also checked at this point
-(except for the signature of the self-signed "root CA" certificate,
+For each element in the chain, including the root CA certificate,
+the validity period as specified by the C<notBefore> and C<notAfter> fields
+is checked against the current system time.
+The B<-attime> flag may be used to use a reference time other than "now."
+The certificate signature is checked as well
+(except for the signature of the typically self-signed root CA certificate,
which is verified only if the B<-check_ss_sig> option is given).
When verifying a certificate signature
the keyUsage extension (if present) of the candidate issuer certificate