7

私は 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 certs:add server.crt server.key を実行しました。このエラーを取得します

Unable to read server.crt file

さらに、CAT なしで単に「heroku certs:add ca-bundle.pem server.key」を試してみたところ、このエラーが発生しました。

No certificate given is a domain name certificate
4

1 に答える 1

9

heroku へのインストールに適した pem でエンコードされた証明書チェーンは、サイト、中間、ルートの順に 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 を使用して証明書を追加します。

于 2013-07-20T03:38:10.760 に答える