Я попытался создать собственный корневой ЦС со сроком действия 40 лет следующим образом: openssl req -new -newkey rsa:4096 -x509 -days 10950 -extensions v3_ca -keyout myca.key -out myca.crt -config /etc/ssl/openssl.cnf
Пока все хорошо, наконец, давайте взглянем на сертификат с openssl x509 -noout -text -in myca.crt
:
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=DE, ST=Berlin, L=Berlin, O=Org, OU=Unit, CN=My Root CA/emailAddress=info@my.root.ca
Validity
Not Before: Jan 31 14:07:06 2012 GMT
Not After : Dec 18 07:38:50 1905 GMT
Почему в сертификате неверно указано действительное до даты (а не после даты)? И что можно сделать, чтобы это исправить?
Некоторые тесты показали, что переполнение происходит где-то в январе 2038 года.
Нашел проблему: (ключевые слова "openssl time_t 32bit")
http://projects.puppetlabs.com/projects/1/wiki/SSL_in_The_Year2038
На мой взгляд, «исправление» - это создание вашего центра сертификации в системе с 64-битным OpenSSL.