我在/etc/apache2/sites-available/有一个xxx-ssl.confconfiguration,其中包含以下SSL选项:
SSLEngine on SSLCertificateFile /var/www/ssl/webserver_cert.der SSLCertificateKeyFile /var/www/ssl/webserver.key SSLCipherSuite NULL-SHA
密钥文件和证书文件已到位。 虚拟主机(xxx-ssl.conf)使用a2ensite命令启用。 Apache服务器重新加载。 不幸的是它无法启动 – 错误日志显示如下:
[debug] ssl_engine_init.c(608): Configuring permitted SSL ciphers [!aNULL:!eNULL:!EXP:NULL-SHA] [error] Unable to configure permitted SSL ciphers [error] SSL Library Error: 151441516 error:0906D06C:PEM routines:PEM_read_bio:no start line Bad file contents or format - or even just a forgotten SSLCertificateKeyFile? [error] SSL Library Error: 151441516 error:0906D06C:PEM routines:PEM_read_bio:no start line Bad file contents or format - or even just a forgotten SSLCertificateKeyFile? [error] SSL Library Error: 336646329 error:1410D0B9:SSL routines:SSL_CTX_set_cipher_list:no cipher match
在其他configuration文件中,我也有以下密码:
SSLCipherSuite NULL-MD5 SSLCipherSuite NULL-SHA SSLCipherSuite EXP-DES-CBC-SHA
而且他们也不工作。 但是我有一些工作configuration(如SSLCipherSuite DES-CBC-SHA )。
此外,当我尝试运行openssl ciphers -s我得到以下错误:
Error in cipher list 3073530056:error:1410D0B9:SSL routines:SSL_CTX_set_cipher_list:no cipher match:ssl_lib.c:1312:
在Apache和OpenSSL更新之前,一切正常。
我在Ubuntu 12.04 LTS上工作。
阿帕奇:
Server version: Apache/2.2.22 (Ubuntu) Server built: Jul 15 2016 15:32:38
OpenSSL的:
OpenSSL 1.0.1 14 Mar 2012
任何人都可以请指导我通过发现的过程,发生了什么? 谢谢!
我不知道你在用这个密码套件做什么
SSLCipherSuite NULL-MD5 SSLCipherSuite NULL-SHA SSLCipherSuite EXP-DES-CBC-SHA
因为这些是非常不安全的。 请参考https://mozilla.github.io/server-side-tls/ssl-config-generator/进行有用和安全的configuration。
此外,以下错误消息表明您的证书和/或私钥的格式不正确:
[error] SSL Library Error: 151441516 error:0906D06C:PEM routines:PEM_read_bio:no start line Bad file contents or format - or even just a forgotten SSLCertificateKeyFile?
如果文件扩展名是格式指示符,这可能与此设置有关,因为它看起来像是使用(二进制)DER格式而不是所需的(文本)PEM格式:
SSLCertificateFile /var/www/ssl/webserver_cert.der
在Apache和OpenSSL更新之前,一切正常。
我怀疑这一点。 也许这是工作,但我怀疑它工作正常。 也许你刚刚没有意识到你的configuration有多不安全。