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が何らかの方法でキーと一致することを確認できますか?
私が提供した証明書が悪かったことがわかりました。
ランニング
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:
不正な証明書を表示したときのブロックの行の長さがすべて同じではないことに気付いたはずです。
ために:
SSLCertificateFile my.crt
SSLCertificateKeyFile my.key
これらのファイルへのフルパスを使用する必要があります。つまり、
SSLCertificateFile /home/vhosts/domain.com/keys/my.crt
SSLCertificateKeyFile /home/vhosts/domain.com/keys/my.crt
正しいパスを更新し、Apacheを再起動して変更を適用します。問題が解決しない場合は、更新されたエラー/メッセージをポストバックします。
-ブレンダン
参考までに、私は同じ種類のエラーレポートを持っていて、問題は実際には証明書ではなく構成にありました。
誤って、キーを証明書として、証明書をキーとして定義しました。結果は同じエラーメッセージでした。
エラーは、私の参照構成がこれらのアイテムを逆の順序で提示したという事実から生じました。
@Brendanの例でも、証明書とキーの両方に対して証明書を2回参照するため、このエラーが発生します。
したがって、正しいパラメータで正しいファイルを参照していることを確認してください。