Apacheエラーログには、証明書にDHおよびECパラメータが必要です。

Apacheエラーログには、証明書にDHおよびECパラメータが必要です。

LetsEncryptから新しいSSL証明書を受け取ってから7時間Apache Webサーバーを起動しようとしました。 ECDSA 証明書を取得しましたが、まだサーバーを起動できません。ログは次のとおりです。

[Thu Mar 29 19:23:43.839012 2018] [ssl:emerg] [pid 19908:tid 140570990629824] SSL Library Error: error:0906D06C:PEM routines:PEM_read_bio:no start line (Expecting: DH PARAMETERS) -- Bad file contents or format - or even just a forgotten SSLCertificateKeyFile?
[Thu Mar 29 19:23:43.839038 2018] [ssl:emerg] [pid 19908:tid 140570990629824] SSL Library Error: error:0906D06C:PEM routines:PEM_read_bio:no start line (Expecting: EC PARAMETERS) -- Bad file contents or format - or even just a forgotten SSLCertificateKeyFile?
[Thu Mar 29 19:23:43.839069 2018] [ssl:emerg] [pid 19908:tid 140570990629824] SSL Library Error: error:140A80B1:SSL routines:SSL_CTX_check_private_key:no certificate assigned
[Thu Mar 29 19:23:43.839086 2018] [ssl:emerg] [pid 19908:tid 140570990629824] AH02311: Fatal error initialising mod_ssl, exiting. See /var/log/apache2/error.log for more information
AH00016: Configuration Failed

VirtualHostsのSSL設定は次のとおりです。

ServerName site.example.com
SSLCipherSuite HIGH:!MD5:!aNULL
SSLHonorCipherOrder     on
SSLCompression          off
SSLProtocol all -SSLv2 -SSLv3
Header add Strict-Transport-Security "max-age=15768000"
SSLCertificateFile /etc/letsencrypt/ecdsa/site.example.com/0001_chain.pem
SSLCertificateKeyFile /etc/letsencrypt/ecdsa/site.example.com/privkey.pem

ベストアンサー1

少し遅れましたが、同じエラーメッセージに対する答えを見つけて解決策を見つける間にこのページを見つけました。私のようにhttpd-2.2からVirtualHost設定を継承した場合、問題はないと確信しています。 opensslに問題がない可能性があります。ちなみに、私のシステムにはdhparams.pemファイルはありません。これはhttpd-2.4の場合は少し異なるようです。最初のヒント:VirtualHost定義には依存しなくなりました。あなた〜しなければならない次のように、conf.d/ssl.confで有効な証明書/キーペアを参照してください(場所は私のFedoraシステム用です)。

SSL証明書ファイル/etc/pki/tls/certs/localhost.crt

SSLCertificateKeyFile /etc/pki/tls/private/localhost.pem

私はhttpd-2.2/openssl-1.0.2hから継承された自己署名証明書です。証明書はASCII PEM形式です。鍵が RSA 汎用コピーに変換されたため、httpd を起動するときにパスワードは必要ありません。 (これを行う前に環境を慎重に評価してください。)証明書が作成されたものは重要ではないようです。これは、クライアントに提供されるVirtualHostセクションで定義された証明書であるためです。私にとって、この証明書(httpd-2.2から継承されています)はPEMの短い形式であり、対応するキーもRSA一般コピー形式です。もちろん、mod_ssl.soをロードする必要がありますが、httpd-2.2で動作する場合はすでにロードしています。

おすすめ記事