Heroku SSL:Pem无效/密钥与Pem证书不匹配

我买了一个Gandi.net SSL证书,我正在学习这个教程 。

  1. 我创build了密钥文件。
  2. 然后转换成CSR
  3. 然后将其添加到甘地网站,等待CRT。
  4. 然后从密钥中删除密码===>结果:[FINAL KEY]
  5. 然后将CRT和FINAL KEY合并到一个文件中==>结果:[FINAL PEM]
  6. 那么heroku ssl:添加final_pem final_key –app app_name

和… Pem无效/密钥不符合Pem证书。

我试了三次,我真的不知道发生了什么事。

你能帮我吗 ?

当我试图在Heroku上使用Gandi证书时,我想可能遇到类似的问题。 Heroku一直抱怨说我的PEM文件与我的密钥不匹配,运行openssl x509 -noout -modulus -in example.com.crt给了我一个“ unable to load certificate ”的错误。

这个问题非常简单:当我从Gandi下载证书时,证书文本和“–END CERTIFICATE …”行之间有一个额外的空白行:

 ghjg86GHHJ47Nmmmaiuoj8bUW8bbn/9w78sTxuguHQWjhuhuQWQhuybyyA== -----END CERTIFICATE----- 

当我删除空白行,一切工作完美:

 ghjg86GHHJ47Nmmmaiuoj8bUW8bbn/9w78sTxuguHQWjhuhuQWQhuybyyA== -----END CERTIFICATE----- 

我想当你创build最终的PEM文件,你想连接你的证书和你的CA证书,而不是你的证书和你的私钥:

 cat example.com.crt certificate-issuer.com.pem > example.com.pem 

最后,我发现http://blog.bloom.io/2011/09/16/https-ssl-table-stakes/对整个过程非常有帮助。

不知道这是否是相关的,但我有类似的问题使用Heroku的SSL端点,并最终做了一个博客文章:

http://starvingdeveloper.wordpress.com/2012/09/18/comodo-ev-ssl-with-heroku-if-you-did-it-wrong-the-first-time/

编辑:用Heroku,你需要确保你的证书是在正确的顺序。 如果你已经推送/添加了一个搞砸了的证书,你可以尝试以不同的顺序安排它们(效率不高,但它完成了工作),你可以检查出Heroku SSL医生,并利用“旁路”选项放弃通常的show-stoppers,这将允许你添加/更新新的证书。

TL; DR =>使用Heroku SSL端点时,一定要确保包含整个包并确保该包的内容按正确顺序排列。 尝试Heroku SSL医生,如果你有问题。

我从另一个提供商处获得了我的证书,但是我将公共证书和私钥保存在不同的文件中,并且工作正常。