web-dev-qa-db-ja.com

WebサーバーSSL用の単一の.pemファイルの作成

SSLを使用するには、使用している Webサーバー に単一の.pemファイル(-ssl_cert xyz.pem)の場所が必要です。

GoDaddyによって発行された証明書を持っています。彼らは私にファイルをくれました:

banana.crt

上記の証明書要求は、私が生成した秘密鍵を使用して作成されました

banana.key

グーグルは、.pemファイルの作成がそれらを連結するのと同じくらい簡単であることを示唆しているようです。

cat banana.key banana.crt> banana.pem

残念ながら、banana.pemでサーバーを起動し、Safariでサーバーにアクセスすると、次のようになります。

発行者:Go Daddy Secure Certificate Authority

この証明書は未知の機関によって署名されました

何が問題なのですか?私またはGoDaddyが証明書の作成で何かを台無しにしましたか、それとも ここ から.pemファイルに何かを混ぜる必要がありますか?

私は完全に最新のOSX Leopard + Safariインストールで訪問しています。

1
xyz

所有している証明書の種類に応じて、 https://certs.godaddy.com/Repository.go にアクセスし、適切な中間証明書チェーン(.crtファイルの1つ、ほとんどの場合)をダウンロードします。おそらく これ )。独自の証明書とキーとともに、それをPEMファイルに貼り付けます。

6
Nate

.pemファイルの作成は問題ありません。そうでない場合は、HTTPサーバーが起動する可能性はほとんどありません。

ブラウザの信頼できる証明書にGoDaddyルート証明書があるとすると、ブラウザから提供された証明書は「チェーン」証明書と呼ばれます。これは、ルートによって直接署名されていないことを意味します。それ自体がルートによって署名されている中間CAによって署名されています。

ブラウザがチェーン証明書を信頼するには、チェーン内のすべての証明書を知っている必要があります。 Apacheでは、これはSSLCertificateChainFileディレクティブを使用して実行されます。このディレクティブは、SSLハンドシェイクプロセス中にチェーン内の他の証明書をクライアントにプッシュします。

Mongooseでこのディレクティブの代わりを見つける必要があります。マニュアルにはその方法が記載されていないようです。 PEMの最後にチェーン証明書を配置すると役立つ場合があります。

3
Dan Carley