![Heroku 上的 SSL,错误添加证书:“无效。证书上的‘不晚于’日期限制已过。”](https://linux22.com/image/644968/Heroku%20%E4%B8%8A%E7%9A%84%20SSL%EF%BC%8C%E9%94%99%E8%AF%AF%E6%B7%BB%E5%8A%A0%E8%AF%81%E4%B9%A6%EF%BC%9A%E2%80%9C%E6%97%A0%E6%95%88%E3%80%82%E8%AF%81%E4%B9%A6%E4%B8%8A%E7%9A%84%E2%80%98%E4%B8%8D%E6%99%9A%E4%BA%8E%E2%80%99%E6%97%A5%E6%9C%9F%E9%99%90%E5%88%B6%E5%B7%B2%E8%BF%87%E3%80%82%E2%80%9D%20.png)
几个月前,我从 Gandi.net 购买了通配符 SSL 证书,购买后立即在 Heroku 以外的其他托管服务上成功使用了它。我现在需要在 Heroku 托管的应用程序上保护一个新的子域。
遵循这些说明...
https://devcenter.heroku.com/articles/ssl-endpoint#provision-the-add-on
...我进入了:
$ heroku certs:add ~/Desktop/certificate-32703.crt ~/Desktop/private.key
Resolving trust chain... done
Adding SSL Endpoint to dp-heroku-ssl... failed
! Certificate is no longer valid. The 'Not After' date restriction on the certificate has passed.
该证书本身的有效期是 2017 年。
我发现唯一一个对“Not After”参数的引用: https://www.openssl.org/docs/apps/verify.html
最后的操作是检查证书链的有效性。根据当前系统时间以及证书中的 notBefore 和 notAfter 日期检查有效期。此时还会检查证书签名。
我已经向 Gandi 和 Heroku 提交了票证。我会发布任何有用的回复。
答案1
令人尴尬的是,它告诉我的只是一件简单的事情:证书已过期。我以为的证书并没有过期。但我拿错了 .crt 文件。它是另一个已过期的证书。#facepalm
一旦我使用正确的 .crt 文件,它就立即起作用。