我按照this page创建我的SSL证书 我使用openssl创建rootCA和服务器证书。
但在chrome中显示此页面。 image here
Openssl命令紧随其后:
"[Apache install path]\bin" openssl genrsa -des3 -out rootCA.key 2048
"[Apache install path]\bin" openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 3560 -extensions v3_req -out rootCA.pem
Country Name (2 letter code) [AU]:TW
State or Province Name (full name) [Some-State]:Taiwan
Locality Name (eg, city) []:Taipei
Organization Name (eg, company) [Internet Widgits Pty Ltd]:CR
Organizational Unit Name (eg, section) []:IT section
Common Name (eg, server FQDN or YOUR name) []:localhost
Email Address []:cr@localhost
将 rootCA.pem 安装到操作系统可信证书。(我的操作系统是Windows 10)
然后生成CSR:
set OPENSSL_CONF=[Apache install path]\conf\openssl.cnf (This is apache default)
openssl genrsa -out server.key 2048
仅公共名称与rootCA不同,已设置" html_12"。
openssl req -new -key server.key -out server.csr
openssl x509 -req -in device.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out device.crt -days 500 -sha256 -extensions v3_req
httpd-ssl.conf中的Apache设置:
SSLCertificateFile "D:/xampp/Apache2.2_win32/conf/server.crt"
SSLCertificateKeyFile "D:/xampp/Apache2.2_win32/conf/server.key"
在httpd-vhosts.conf中是相同的:
<VirtualHost *:80>
DocumentRoot "E:/PHP_TEST"
ServerName html_12
ErrorLog "logs/html_12M-error.log"
CustomLog "logs/html_12M-access.log" common
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
SSLCertificateFile "D:/xampp/Apache2.2_win32/conf/server.crt"
SSLCertificateKeyFile "D:/xampp/Apache2.2_win32/conf/server.key"
SSLCACertificateFile "D:/xampp/Apache2.2_win32/conf/rootCA.pem"
</VirtualHost>
这是在更新chrome到61.0.3163.79之后发生的,我不知道这是否与chrome相关。
在我更新之前,只显示&#34;您的连接不是私密的&#34;,我可以点击&#34;提前&#34;继续我的工作。
我还设置了chrome://flags/#allow-insecure-localhost
,允许从localhost加载资源的无效证书。 启用
但仍然有同样的问题。
我可以做任何其他信任我的localhost证书吗?
答案 0 :(得分:1)
我已经解决了这个问题。
我必须使用openssl在同一个根目录中创建一个文件v3.ext
文件内容:
[req]
distinguished_name = req_distinguished_name
x509_extensions = v3_req
prompt = no
[req_distinguished_name]
C = TW
ST = Taiwan
L = Taipei
O = CR
OU = It
CN = html_12
[v3_req]
keyUsage = keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1=html_12
然后执行命令行以生成键&amp; crt 档案:
openssl req -new -newkey rsa:2048 -sha256 -days 3650 -nodes -x509 -keyout server.key -out server.crt -config v3.ext -extensions v3_req
然后将文件放入apache中 它有效。
答案 1 :(得分:0)
如果您拥有原始证书的原始.csr和私钥,则只能通过更改openssl.conf来解决此问题
您可以将其添加到文件中:
[alt_names]
DNS.1=html_12
...您可以再次生成证书:
openssl x509 -signkey private.key -in request.csr -req -days 365 -out cert-newcert.cer