设置SSL时出现问题,不断收到“无效,无密码保护的密钥”错误

时间:2013-03-19 09:25:49

标签: ruby-on-rails ruby ssl heroku ssl-certificate

我在StartSSL.com上获得了安全证书,并密切关注Heroku上的步骤。我获得了中级证书和根证书。

我尝试了不同的方法来链接这些文件,但是我收到了这个错误(见截图)

http://i.imgur.com/8WVmAVu.jpg

如何解决此错误?

我下载的文件是:

ca.pem (root cert)
sub.class1.server.ca.pem (intermediate cert)
copy and pasted the private key as server.key
copy and pasted the certificate as server.orig.crt
There's also the ca-bundle.pem that I tried using but no luck

我刚刚重新加载了所有文件并运行了这个" cat server.orig.crt sub.class1.server.ca.pem ca-bundle.pem> server.crt这" 然后运行heroku证书:添加server.crt server.key,我收到此错误

Unable to read server.crt file

此外,我刚试过没有任何CAT,只是" heroku证书:添加ca-bundle.pem server.key"我收到此错误

No certificate given is a domain name certificate

1 个答案:

答案 0 :(得分:9)

适合在heroku上安装的pem编码证书链应按顺序包括:site,intermediate,然后是root pem编码的证书。

cat server.orig.crt sub.class1.server.ca.pem ca.pem > heroku.crt

在我看来,更像是您的私钥问题 - 您需要确保pem文件未使用密码加密,并且它与用于生成证书的密钥对相同。如果加密,私钥的头部将如下所示:

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
...

而不只是:

-----BEGIN RSA PRIVATE KEY-----
MIICaQIBAAKBhACxlzv7H57F+vapTjqS9qdfDg20RjwFFU1B3yK8SqN7rX0jpjsW
H3B2lhCqKPWd2To2LoOolhnsFbr5qlKK3ep/nuUZfkx1aOIg4L0FgzbuCSJfKE5B
...

在前一种情况下,运行(linux,mac os):

openssl rsa -in server.key -out server.unencrypted.key

并在提示时输入密码。然后在调用heroku时使用server.unencrypted.key来添加证书。