你做得很对,但是你还需要将自签名证书添加到浏览器的证书颁发机构中,因为它是自签名的。
除了使用自签名证书外,你还可以创建根证书,然后生成一个
localhost或其他服务器标识符证书。我建议使用这种解决方案,因为这样你可以为所有
非生产环境生成证书,并导入一个自定义证书颁发机构。
有许多网站可以找到如何操作的方法,其中一个我认为非常清晰的是
如何为本地主机域创建HTTPS证书。基本上,你必须按照该链接中描述的这些步骤进行操作:
生成证书颁发机构密钥:
openssl req -x509 -nodes -new -sha256 -days 1024 -newkey rsa:2048 -keyout RootCA.key -out RootCA.pem -subj "/C=US/CN=Example-Root-CA"
在这里,我们需要更改参数,主要是-sub参数。
为认证机构生成证书
openssl x509 -outform pem -in RootCA.pem -out RootCA.crt
为localhost生成密钥
openssl req -new -nodes -newkey rsa:2048 -keyout localhost.key -out localhost.csr -subj "/ C = US / ST = YourState / L = YourCity / O = Example-Certificates / CN = localhost.local"
您需要根据需要更改-subj或保留原样。
- 通过创建证书配置文件并请求openssl生成它来生成localhost证书。
以下是证书配置文件:
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = localhost
DNS.2 = fake1.local
DNS.3 = fake2.local
这是生成证书的命令:
openssl x509 -req -sha256 -days 1024 -in localhost.csr -CA RootCA.pem -CAkey RootCA.key -CAcreateserial -extfile domains.ext -out localhost.crt
一旦您获得证书,您需要在首选浏览器上导入认证机构。您还可以按照3和4步骤为每个服务器或虚拟机进行开发,并在不需要在浏览器中导入新的认证机构的情况下使用它们。