Commit 1671d567cb for openssl.org
commit 1671d567cb123f30407c1fd740d1437a28876aa0
Author: kovan <xaum.io@gmail.com>
Date: Thu May 7 18:02:51 2026 +0200
doc: clarify -dateopt rfc_822 date format
The rfc_822 date output format uses an asctime-style month-first form.
It does not match RFC 822, RFC 2822, or RFC 5322.
Document the day/month ordering, RFC 822 year length, GMT timezone, and affected commands.
Resolves: https://github.com/openssl/openssl/issues/22223
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Saša NedvÄ›dický <sashan@openssl.org>
Reviewed-by: David von Oheimb <david.von.oheimb@siemens.com>
MergeDate: Sun May 10 23:52:21 2026
(Merged from https://github.com/openssl/openssl/pull/29851)
diff --git a/doc/man1/openssl-ca.pod.in b/doc/man1/openssl-ca.pod.in
index bfddadec4e..7e75d020db 100644
--- a/doc/man1/openssl-ca.pod.in
+++ b/doc/man1/openssl-ca.pod.in
@@ -228,6 +228,14 @@ Don't output the text form of a certificate to the output file.
Specify the date output format. Values are: rfc_822 and iso_8601.
Defaults to rfc_822.
+Note that despite its name, the rfc_822 format does not conform to RFC 822
+or its successors RFC 2822 and RFC 5322. It outputs dates in the format
+"Mmm DD HH:MM:SS YYYY GMT" (e.g., "Jul 31 22:20:50 2017 GMT"). The month
+appears before the day, unlike all three RFCs, which put the day first.
+The 4-digit year differs from RFC 822 (which used 2-digit years), and the
+timezone name "GMT" is obsolete per RFC 2822 and RFC 5322 (which require
+numeric offsets such as "+0000").
+
=item B<-startdate> I<date>, B<-not_before> I<date>
This allows the start date to be explicitly set. The format of the
diff --git a/doc/man1/openssl-crl.pod.in b/doc/man1/openssl-crl.pod.in
index 4327b6157b..3d12d1700d 100644
--- a/doc/man1/openssl-crl.pod.in
+++ b/doc/man1/openssl-crl.pod.in
@@ -87,6 +87,14 @@ for testing.
Specify the date output format. Values are: rfc_822 and iso_8601.
Defaults to rfc_822.
+Note that despite its name, the rfc_822 format does not conform to RFC 822
+or its successors RFC 2822 and RFC 5322. It outputs dates in the format
+"Mmm DD HH:MM:SS YYYY GMT" (e.g., "Jul 31 22:20:50 2017 GMT"). The month
+appears before the day, unlike all three RFCs, which put the day first.
+The 4-digit year differs from RFC 822 (which used 2-digit years), and the
+timezone name "GMT" is obsolete per RFC 2822 and RFC 5322 (which require
+numeric offsets such as "+0000").
+
=item B<-text>
Print out the CRL in text form.
diff --git a/doc/man1/openssl-x509.pod.in b/doc/man1/openssl-x509.pod.in
index f10052b2e7..4309c763fa 100644
--- a/doc/man1/openssl-x509.pod.in
+++ b/doc/man1/openssl-x509.pod.in
@@ -229,6 +229,14 @@ but are described in the L</Trust Settings> section.
Specify the date output format. Values are: rfc_822 and iso_8601.
Defaults to rfc_822.
+Note that despite its name, the rfc_822 format does not conform to RFC 822
+or its successors RFC 2822 and RFC 5322. It outputs dates in the format
+"Mmm DD HH:MM:SS YYYY GMT" (e.g., "Jul 31 22:20:50 2017 GMT"). The month
+appears before the day, unlike all three RFCs, which put the day first.
+The 4-digit year differs from RFC 822 (which used 2-digit years), and the
+timezone name "GMT" is obsolete per RFC 2822 and RFC 5322 (which require
+numeric offsets such as "+0000").
+
=item B<-text>
Prints out the certificate in text form. Full details are printed including the