我已经使用自签名密钥将SSL添加到网站(Apache 2.2 w / Centos 6)。 Chrome,FF和IE显示以下内容:
铬
您的连接不是私人攻击者可能试图从test.example.com中窃取您的信息(例如,密码,消息或信用卡)。 NET :: ERR_CERT_AUTHORITY_INVALID
FF
您的连接不安全test.example.com的所有者已经错误地configuration了他们的网站。 为了防止您的信息被盗,Firefox尚未连接到本网站。
IE
这个网站的安全证书有问题这可能意味着有人试图欺骗你或窃取你发送给服务器的任何信息。 你应该立即closures这个网站。
这是预期的吗? 如果不是,该如何configuration该站点。 以下是我所做的。
Apache被configuration为:
<VirtualHost *:443> ServerName test.example.com DocumentRoot /var/www/test/html ErrorDocument 404 /error-404.html SSLEngine on SSLCertificateKeyFile /etc/pki/tls/private/test_key.pem SSLCertificateFile /etc/pki/tls/certs/test_crt.pem <Directory "/var/www/test/html"> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all RewriteEngine On #Include /var/www/httpd/private.conf </Directory> </VirtualHost>
我的密钥生成如下:
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:3072 -aes-128-cbc -out test_key.pem # For the following command, left all as default values openssl req -new -key test_key.pem -sha256 -days 365 -out test_csr.pem cp test_key.pem test_key.pem.tmp openssl rsa -in test_key.pem.tmp -out test_key.pem rm -f test_key.pem.tmp openssl x509 -req -in test_csr.pem -signkey test_key.pem -sha256 -days 365 -out test_crt.pem sudo cp test_key.pem /etc/pki/tls/private/test_key.pem sudo cp test_csr.pem /etc/pki/tls/private/test_csr.pem sudo cp test_crt.pem /etc/pki/tls/certs/test_crt.pem rm -f test_key.pem rm -f test_csr.pem rm -f test_crt.pem
这是浏览器的预期行为。 这些警告是为了阻止用户访问本网站,因为浏览器无法确定这是否是本网站的预期证书,或者是冒充该网站的人,例如中间人的攻击。 基本上一个自签名证书是说“相信我,我是正确的证书”,并且没有办法来validation这个说法。
由于这是您的自签名证书,不属于任何证书颁发机构,浏览器肯定会抛出错误。
在https的情况下,第一步是握手。 在握手过程中,浏览器检查服务器上安装的证书的权限是否在浏览器证书列表中。 由于这个证书是由您签名的,决不会在浏览器列表中。
如果你在本地工作,那么你可以在浏览器中导入证书,如果证书中还有任何域名,那么你需要修改主机文件,而在Linux下保存在/ etc下的c: \ Windows \ System32下\ drivers \ etc中\
祝你好运…. :)