我在 192.168.75.129 ip 上有 ubuntu apache2 虚拟服务器,我正在使用 windows 7
我已经创建了证书sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/localhost.site.key -out /etc/ssl/certs/localhost.site.crt
并使用 apache sites 配置它。并将其添加到 windows hosts 文件 192.168.75.129 localhost.site
当我使用 Windows Chrome 访问 URL 时,它会出现 SSL 错误 NET::ERR_CERT_COMMON_NAME_INVALID 然后我可以单击地址栏图标并将证书保存到我的电脑
然后我转到 chrome 设置并将此证书文件安装到根证书,它安装成功并显示在列表中,但仍然不起作用!
它向我发出警告!
我也尝试在 ubuntu 中使用“通用名称”作为我的服务器 IP 地址来制作证书,但效果并不好,所以现在它是 localhost.site
Chrome 中的证书似乎没问题,只有黄色警告符合基本约束:主题类型 = CA 路径长度约束 = 无
如何让它工作?
答案1
下面是一个最小的 OpenSSL 配置文件,它将为您提供您想要的结果:
prompt = no
distinguished_name = req_dn
x509_extensions = x509_ext
[ req_dn ]
commonName = My Web Service
[ x509_ext ]
subjectAltName = @alt_names
[alt_names]
DNS.1 = localhost.site
DNS.2 = www.localhost.site
IP.1 = 192.168.75.129
使用以下命令创建证书:
openssl req -x509 -new -newkey rsa:2048 -nodes -days 365 -keyout localhost.site.key -out localhost.site.crt -config minimal.cnf
添加localhost.site.crt
到您的信任库。
测试
openssl s_server -key localhost.site.key -cert localhost.site.crt -www
并将浏览器指向:
https://localhost.site:4433