2011-08-03 76 views
3

我试图生成使用Heroku的暗示这里的指令的自签名证书:http://www.akadia.com/services/ssh_test_certificate.htmlHeroku的SSL错误:密钥不匹配PEM证书

这将创建sever.key和server.crt这。

然后我尝试使用以下命令将它们添加到Heroku的:

Heroku的SSL:添加server.crt这server.key,我得到了以下错误未找到

域名。确保mycorrectdomain.heroku.com被添加到您的Heroku应用程序域/密钥不匹配PEM证书

这里是server.crt这文件的内容:

-----BEGIN CERTIFICATE----- 
MIICvTCCAiYCCQDyHGnBdtovbzANBgkqhkiG9w0BAQUFADCBojELMAkGA1UEBhMC 
VVMxCzAJBgNVBAgMAkNBMRIwEAYDVQQHDAlQYWxvIEFsdG8xEzARBgNVBAoMClR1 
dG9yQ2xvdWQxETAPBgNVBAsMCFNvZnR3YXJlMSMwIQYDVQQDDBp0ZXN0LXR1dG9y 
Y2xvdWQuaGVyb2t1LmNvbTElMCMGCSqGSIb3DQEJARYWYmxhaXJAbXl0dXRvcmNs 
b3VkLmNvbTAeFw0xMTA4MDMxNzQ4NDdaFw0xMjA4MDIxNzQ4NDdaMIGiMQswCQYD 
VQQGEwJVUzELMAkGA1UECAwCQ0ExEjAQBgNVBAcMCVBhbG8gQWx0bzETMBEGA1UE 
CgwKVHV0b3JDbG91ZDERMA8GA1UECwwIU29mdHdhcmUxIzAhBgNVBAMMGnRlc3Qt 
dHV0b3JjbG91ZC5oZXJva3UuY29tMSUwIwYJKoZIhvcNAQkBFhZibGFpckBteXR1 
dG9yY2xvdWQuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqWEjXRDo0 
CBzoIqnpzPN6Ussf476JDX+9uCkpaSyR6Oxarjpc55lw+Mnb9UNiBWPS6JJ/Hq2c 
CgkGD9uu11OXRCRvsZeyJjd2YT1B+XZsXrKZVj2C2dj1r6DXzAV2G5EwWJDklaH3 
x1uA+muPt7NZ4Dz2WNv9FMyicTTCdMhWlwIDAQABMA0GCSqGSIb3DQEBBQUAA4GB 
AJYAgjiHyUxyeFRR2nJ3CLanjNtkzVz+Dk7pdu/p0P35YpYhE95q76xgcOFasWe2 
+pUwxTjtQvhc0BRHjohSjiF8+ZFLRfsPq9kmh55AFzDj7V8dzUek4yVyZRtcIdNQ 
Gx8I5g8vJClLnHbYQlaCupVIxVZqnp7SKeeshduCsJ/8 
-----END CERTIFICATE----- 

任何想法?

回答

6

万一别人都收到此错误 - 我得到了同样的错误设置为我的应用程序测试的主机名的SSL证书。

答案是我没有添加首先证书的域名 - 它没有在Heroku SSL文档中说明这一点。因此,添加证书之前做:

heroku domains:add secure.mydomain.com 

,然后你可以添加证书:

heroku ssl:add ssl.crt ssl.key 
3

您是否在您的heroku应用程序设置中添加了SSL addon

此外,你不应该在网上发布你的私钥,因为它应该是...好吧...私人。

我建议你为你的应用程序生成一个新的密钥对。

编辑:

你提到启用SSL搭载,在这种情况下,你并不需要生成自己的钥匙。见this

An app specific SSL certificate is not required for Piggyback SSL. The *.heroku.com wildcard SSL certificate is used for all apps. You can view information about this certificate by visiting https://heroku.com/ and clicking the lock icon in your browser.

+0

是,搭载SSL已经被添加到我的应用程序。任何想法可能导致这种情况? – user531065

+0

好吧,这将实际上为我正在尝试做的工作,谢谢。但我仍然很好奇,为什么我的自签证书不能工作?这是背负的事情,还是与实际证书有问题? – user531065

+0

如果您不支付通配符域SSL选项,那么您不能使用自己的证书。这基本上意味着你不能使用'https:// yourowndomain.com',而是必须从'https:// appname.heroku.com'访问安全站点。 – ryanprayogo