web-dev-qa-db-ja.com

SSL証明書のインストール後にApacheを起動しようとするとエラーが発生する

SSL証明書をインストールしようとすると、次のエラーが発生します。

AH02241: Init: Unable to read server certificate from file /path/my.crt
SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
SSL Library Error: error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error (Type=X509)
AH02312: Fatal error initialising mod_ssl, exiting.

これが私が従ったプロセスです:

私は秘密鍵を次のように生成しました:

openssl genrsa -out my.key 2048

私はCSRを作成しました:

openssl req -new -key my.key -out my.csr

CSRをIT部門に提供したところ、CRTが返されました。

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

私のssl.confには(my.example.comはCSRの生成中に使用された一般名と一致します):

 <VirtualHost my.example.com:443>
   SSLEngine On
   ServerName my.example.com 
   SSLCertificateFile /path/my.crt
   SSLCertificateKeyFile /path/my.key
 </VirtualHost> 

SSLCertificateChainFileまたはSSLCACertificateファイルセットを持っていません。

秘密鍵は

----BEGIN RSA PRIVATE KEY-----

Csrは

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

私は両方を確認しました:

openssl rsa -noout -modulus -in my.key
openssl req -noout -modulus -in my.csr 

同じ出力を生成します。 crtを確認する方法がわかりません-x509とrsaの両方を試行するとエラーが発生します。

このプロセスはうまくいくはずでしたか? my.crtが何らかの方法でキーと一致することを確認できますか?

6
chris

私が提供した証明書が悪かったことがわかりました。

ランニング

openssl x509 -in my.crt -text

動作するはずですが、証明書が破損していたため、エラーが発生しました:

unable to load certificate
140513785948000:error:0D07209B:asn1 encoding routines:ASN1_get_object:too long:asn1_lib.c:142:
140513785948000:error:0D068066:asn1 encoding routines:ASN1_CHECK_TLEN:bad object header:tasn_dec.c:1306:
140513785948000:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:tasn_dec.c:381:Type=X509
140513785948000:error:0906700D:PEM routines:PEM_ASN1_read_bio:ASN1 lib:pem_oth.c:83:

不正な証明書を表示したときのブロックの行の長さがすべて同じではないことに気付いたはずです。

8
chris

ために:

SSLCertificateFile my.crt
SSLCertificateKeyFile my.key

これらのファイルへのフルパスを使用する必要があります。つまり、

SSLCertificateFile /home/vhosts/domain.com/keys/my.crt
SSLCertificateKeyFile /home/vhosts/domain.com/keys/my.crt

正しいパスを更新し、Apacheを再起動して変更を適用します。問題が解決しない場合は、更新されたエラー/メッセージをポストバックします。

-ブレンダン

3
bmurtagh

参考までに、私は同じ種類のエラーレポートを持っていて、問題は実際には証明書ではなく構成にありました。

誤って、キーを証明書として、証明書をキーとして定義しました。結果は同じエラーメッセージでした。

エラーは、私の参照構成がこれらのアイテムを逆の順序で提示したという事実から生じました。

@Brendanの例でも、証明書とキーの両方に対して証明書を2回参照するため、このエラーが発生します。

したがって、正しいパラメータで正しいファイルを参照していることを確認してください。

0
le_top