5

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

プレビューを使用すると、「Not Valid After」が設定されていることがはっきりとわかるので、ここで何が起こっているのかよくわかりません。

その価値のために、NetworkSolutionsDVServerCA.crt を MYSITE.CRT と組み合わせて、3 つすべてを組み合わせてみました。すべて運が悪いです。

この種のことは私の強みではないので(あなたが言うことができると確信しています)、何かが欠けている可能性が非常に高いですが、それが何であるかについて何かアイデアがあれば、私は感謝します.

ありがとう

4

4 に答える 4

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-----
    

ここで、各証明書の間に改行を挿入します。編集したファイルに空白や空行がないことを確認してください。コンテンツは次のようになります

-----BEGIN CERTIFICATE-----
..
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
..
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
  1. コマンドを使用して証明書を Heroku に追加します。

    heroku certs: Mysite_combined.crt Mysite.key を追加

注:ネットワーク ソリューション証明書にはパス コードがないため、heroku サイトでパス コードを削除する手順は無視してかまいません。パス コードを持つキーを使用する場合は、heroku の SSL の設定方法について詳しく説明しているこの記事を参照してください。いずれの場合も、上記の手順 2 を実行する必要があります。

于 2012-08-20T12:03:05.023 に答える
1

おそらく、証明書を中間体と一緒に分類する際のエラーでした。改行の欠落や、エラーの原因となった可能性のある余分な改行がないことを確認する必要があります。

于 2012-06-20T18:12:16.223 に答える
0

このエラーが発生したとき、このコマンドを実行する前に、site.crt の最後に改行を追加する必要がありました。

$ cat site.crt ca_bundle.pem > final.crt
于 2012-08-01T09:16:11.583 に答える
0

私もこの問題を抱えていましたが、私の場合は引数の順序であることが判明しました。どうやら、heroku ユーティリティは、.crt ファイルが .key ファイルより前にあることを想定しています。

言い換えると:heroku certs:add server.crt server.key

于 2012-07-12T04:56:13.617 に答える