我尝试使自己的根CA有效性为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/[email protected] Validity Not Before: Jan 31 14:07:06 2012 GMT Not After : Dec 18 07:38:50 1905 GMT
为什么在证书中有效的date(不是在date之后)是错误的? 可以做些什么来纠正这个问题?
一些testing表明,这种溢出发生在2038年1月的某个地方。
发现问题:(关键字“openssl time_t 32bit”)
http://projects.puppetlabs.com/projects/1/wiki/SSL_in_The_Year2038
我认为“修复”是在64位OpenSSL系统上生成你的CA.