web-dev-qa-db-ja.com

SSL証明書をインストールすると、再起動時にサーバーが失敗します

電子メールで証明書を受け取り、必要なファイルを作成してコピーしました。サーバーを再起動すると、次のエラーが発生しました。

[Wed Feb 08 13:02:06 2012] [error] Init:ファイル/home/sslcertificates/mydomain.crtからサーバー証明書を読み取れません[Wed Feb 08 13:02:06 2012] [error] SSL Library Error:218529960 error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag [Wed Feb 08 13:02:06 2012] [error] SSL Library Error:218595386 error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error

誰にもアイデアはありますか?

22
ORStudios

このエラーメッセージの原因となる別の可能性のある障害の原因は次のとおりです。証明書ファイルの代わりに、証明書要求ファイルにリンクしました。ファイルの最初の行を読むと認識できます:

-----BEGIN CERTIFICATE REQUEST-----

または

-----BEGIN CERTIFICATE-----    

:-)

20
Heinrich

状況:APSエンコーディングエラーを生成するStartSSL証明書を使用するApache 2.4

問題:

AH02564: Failed to configure encrypted (?) private key <domain>.com:80:0, check /etc/pki/tls/certs/ssl.key

一部のSSL発行者は、デフォルトでsslキーファイルを暗号化するため、サーバーで必ず復号化し、仮想ホストからポイントするようにしてください。

キーファイルをエコーし​​て、暗号化されていないことを確認してください。

enter image description here

Mod_sslのキーファイルを復号化する

openssl rsa -in ssl.key -out ssl.key

Apache conf(httpd.conf)のSSL構成の場合、次の構成を追加してApacheを再起動します。

enter image description here

# SSL
<VirtualHost *:443>
    ServerName gajen.com
    SSLCertificateKeyFile /etc/pki/tls/certs/ssl.key
    SSLCertificateFile /etc/pki/tls/certs/ssl.crt
    SSLCertificateChainFile /etc/pki/tls/certs/root.ca.pem
</VirtualHost>

トラブルシューティングの場合:

  • 最初にApacheをデバッグしますtail 50 /var/log/httpd/error_log
  • Mod_sslをデバッグしますtail 50 /var/log/httpd/ssl_error_log
13
Gajen Sunthara

私の場合、証明書が混在していました。SSLCertificateFileにはprivate_keyがあり、SSLCertificateKeyFileには証明書がありました。

9
cristi

エラーの最初のグーグル検索であるため、ここに残してください:これは、新しいパスフレーズで保護された証明書をインストールし、Apacheの設定をリロードするときに発生する可能性があります(Apacheを完全に再起動します)。リロード自体はエラーをスローしませんが、パスフレーズを要求せず、証明書を復号化できません。

これは、Apacheを完全に再起動してパスフレーズを要求し、復号化できるようにすることで解決できます。

5
James Alexander

* .keyファイルを再作成し、コンテンツを再度コピーして貼り付けることで問題が解決しました。

0
Haruna

または、古いパスワードの自動入力を無効にする前に必要です。次のようなコメントルール:

#SSLPassPhraseDialog exec:/etc/ssl/passphrase-script
0

最近、Apache 2.4でのSSLインストール中に、同じエラー-「asn1 encoding routines」に直面しました。

すべてのファイルを正しく配置し、それらを.confファイルに正しく指定しました。トラブルシューティングの1日後、証明書を取得した後、構成に問題がないことに気付きました。

ベンダーの組み込みシステムを使用して、証明書署名要求(CSR)を作成しました。これにより、作成したキーを貼り付けることができました。ベンダーが返したSSL証明書は、プライベートキーにマッピングされたこのCSRをマッピングすることになっています。どうやら一致しませんでした。彼らが提供したSSL証明書はCSRにマッピングされません。

考えられる理由 UNIXの行末(\ r\nの代わりに\ n)/エンコード(ANSI/UTF8)/期待される改行のために、ベンダー側でKey to CSR変換が間違っています。

OpenSSLを使用して自分でCSRを作成し、ベンダーのCSR生成をバイパスしました。 動作しました。したがって、この場合、OpenSSLを使用してキーと対応するCSRを作成し、それを使用してパブリックSSLを生成しました

OpenSSLコマンド

openssl req -new -sha256 -key ~/site.com.ssl/site.com.key -out ~/site.com.ssl/site.com.csr
0
Rahul

IISスタイルの.p7bファイルのコンテンツを電子メールに貼り付けて送信されたため、この問題が発生しました。 .pemと同様に、「----- BEGIN CERTIFICATE -----」および「----- END CERTIFICATE -----」タグがあり、コンテンツは同様の外観のbase64エンコーディングを使用します。次のように* .pemファイルに変換しました。

openssl pkcs7 -print_certs -in cert.p7b -out cert.cer

その後、Apache 2.2は満足しました。

0
Derek