Heroku SSL端点问题

时间:2012-06-20 18:10:46

标签: ssl heroku openssl

我正在尝试向Heroku添加SSL证书。该证书是从Network Solutions购买的。我完成了所有步骤并创建了一个.csr文件,将该文件上传到NetworkSolutions,下载了他们的.crt文件包(MYSITE.crt,AddTrustExternalCARoot.crt,NetworkSolutionsDVServerCA.crt),然后合并了网站证书和版本。中间证书(AddTrustExternalCARoot.crt)捆绑。当我尝试将我生成的final.crt文件添加到Heroku时,我得到:

!    Expires at can't be blank
!    Pem is invalid

使用预览我可以清楚地看到“无效后”设置,所以我不确定这里发生了什么。

为了它的价值我还尝试将NetworkSolutionsDVServerCA.crt与MYSITE.CRT&也结合了所有3.所有没有运气。

这种事情不是我的强项(我相信你可以告诉)所以它很可能我错过了一些东西,但如果你对它有什么想法我会很感激。

由于

4 个答案:

答案 0 :(得分:12)

我今天遇到了同样的问题。

以下是我修复它的步骤。

  1. 按以下顺序(来自网站)合并证书文件 证书到根证书)到.crt或.pem文件中。让我们假设您将其命名为Mysite_combined.crt

    MySite.crt,NetworkSolutionsDVServerCA.crt,AddTrustExternalCARoot.crt

  2. 打开Mysite_combined.crt文件的内容将如下所示

    -----BEGIN CERTIFICATE-----
    ..
    -----END CERTIFICATE----------BEGIN CERTIFICATE-----
    ..
    -----END CERTIFICATE----------BEGIN CERTIFICATE-----
    
  3. 现在,在每个证书之间插入换行符。确保编辑的文件中没有空格或空白行。内容现在应该是

    -----BEGIN CERTIFICATE-----
    ..
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    ..
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    
    1. 现在使用命令

      将证书添加到Heroku

      heroku certs:添加Mysite_combined.crt Mysite.key

    2. 注意:由于网络解决方案证书没有密码,您可以忽略删除heroku站点中密码的步骤。如果您使用具有密码的密钥,请参阅this article,其中详细说明了如何为heroku设置SSL。在任何情况下都应该执行上面的第2步。

答案 1 :(得分:1)

与中间人一起犯下你的证书可能是错误的。您应该看到没有丢失的换行符,或者可能导致错误的额外换行符。

答案 2 :(得分:0)

我也有这个问题,在我的情况下,它证明是参数的顺序。显然,heroku实用程序需要.crt文件位于.key文件之前。

换句话说:heroku certs:add server.crt server.key

答案 3 :(得分:0)

当我收到此错误时,我必须在运行此命令之前在site.crt的末尾添加换行符:

$ cat site.crt ca_bundle.pem > final.crt