如何让Chrome信任自签名证书?双向TLS配置遇阻求助
双向TLS自签名证书信任问题
软件版本
Ubuntu Linux 22.04 OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022) Google Chrome 106.0.5249.119
我正尝试为双向TLS生成自签名证书,服务器部署在AWS EC2实例上,浏览器运行在AWS Workspace中。试过网上所有方法让Chrome信任该证书,但至今未成功。
证书生成脚本
#!/bin/bash # 生成CA证书 openssl genrsa -out ca.key 2048 openssl req -new -x509 -days 730 -key ca.key -out ca.crt -config req.conf # 生成客户端证书 openssl genrsa -out client.key 2048 openssl req -new -key client.key -out client.csr -config req.conf openssl x509 -req -days 730 -in client.csr -CA ca.crt \ -CAkey ca.key -set_serial 01 -out client.crt # 生成服务器证书 openssl genrsa -out server.key 2048 openssl req -new -key server.key -out server.csr -config req.conf openssl x509 -req -in server.csr -days 730 -CA ca.crt \ -CAkey ca.key -set_serial 01 -out server.crt
配置说明
配置文件中通用名称(Common Name)设为服务器IP地址,我了解CN字段现在已不是核心验证项,已将SubjectAltName(SAN)设置为该IP地址,以及domainname命令各类选项返回的所有DNS名称。
证书导入操作
已将ca.crt导入Chrome的证书颁发机构列表,并设置了“识别网站”和“识别软件制造商”的信任权限,导入后在Chrome证书查看器中显示状态正常。
但访问服务器时仍持续收到NET::ERR_CERT_COMMON_NAME_INVALID错误提示。
这是我首次尝试生成双向TLS证书,可能遗漏了关键步骤,如需更多信息请告知。
谢谢,
Gene
后续补充
感谢回复,
我判断问题出在ca.crt包含SAN字段,但server.crt没有。尝试了多种方法仍无法给服务器证书添加SAN,目前打算暂时放弃双向TLS方案,因为用以下脚本可以生成能正常用于常规TLS的证书:
#!/bin/bash openssl req -nodes -new -x509 -keyout key.pem -out cert.pem -config req.conf # 根CA证书必须安装为受信任根证书 sudo rm -r /usr/local/share/ca-certificates/cert.pem sudo cp cert.pem /usr/local/share/ca-certificates sudo update-ca-certificates
Gene
内容的提问来源于stack exchange,提问作者geenweb
相关产品推荐
相关产品推荐

