openssl req 设置了错误的“不晚于”日期(溢出错误?)

openssl req 设置了错误的“不晚于”日期(溢出错误?)

我尝试生成自己的有效期为 40 年的根 CA,如下所示: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

为什么证书中的有效期截至日期(而不是有效期之后日期)是错误的?那么怎样才能纠正这一问题呢?


一些测试表明,溢出发生在 2038 年 1 月的某个时候。

答案1

发现问题:(关键字“openssl time_t 32bit”)

http://projects.puppetlabs.com/projects/1/wiki/SSL_in_The_Year2038

我认为“修复”方法是在具有 64 位 OpenSSL 的系统上生成 CA。

相关内容