B T*_*B T 5 google-chrome android ssl-certificate windows-8.1
我使用 OpenSSL 1.1.1b(2019 年 2 月 26 日)使用以下命令创建了一个自签名证书:
openssl req -nodes -new --days 900 -subj /CN=192.168.0.104:8080 -x509 -keyout server.key -out server.crt
然后我使用 windows mmc将生成的 server.crt 导入到 Console Root -> Certificates - Current User -> Trusted Root Certification Authorities -> Certificates
当我转到 chrome 页面 192.168.0.104:8080 时,它告诉我该页面“不安全”(如果我查看证书信息,证书路径下的证书状态显示“此证书没问题”。
我在我的 android 手机上做了一个类似的过程,将它上传到我的手机,在加密和凭据设置部分添加证书。
但是,当我转到该页面时,它告诉我“服务器的证书与 URL 不匹配”。
我在这里做错了什么?
更新:
我现在正在使用 req.conf
[req]
distinguished_name = req_distinguished_name
x509_extensions = v3_req
prompt = no
[req_distinguished_name]
C = US
ST = CA
L = Belmont
O = N/A
OU = N/A
CN = 192.168.0.104
[v3_req]
subjectAltName = @alt_names
[alt_names]
DNS.0 = localhost
IP.0 = 192.168.0.104
Run Code Online (Sandbox Code Playgroud)
并使用以下命令创建证书和密钥:
openssl req -x509 -nodes -days 999 -newkey rsa:2048 -keyout server.key -out server.crt -config req.conf
然后我在 Windows 上重新启动了 chrome(我不敢相信在 2019 年仍然需要重新启动程序以使设置生效)。Windows chrome 然后可以很好地识别它。
但是,在 android 上,我什至无法安装此证书 - 它告诉我“安装证书所需的私钥”。这更令人困惑。
-addext
到req -new -x509
,但否则你需要至少在逻辑上在配置文件中设置 SAN——尽管在 Unix 上,我相信WSL,你可以让 shell 创建该配置文件作为自动临时文件使用<(commands)
(或在 zsh 中=(commands)
)。看:使用可在 Chrome 58 中运行的 openssl 生成自签名证书
无法摆脱带有自签名证书的 chrome 中的 `net::ERR_CERT_COMMON_NAME_INVALID` 错误
https://security.stackexchange.com/questions/172440/generate-x509- err-cert-common-name-invalid
https://security.stackexchange.com/questions/74345/provide-subjectaltname-to-openssl-directly-on-command-line
https://security.stackexchange.com/questions/ 158632/burp-suite-虽然-我的配置-正确-仍然-chrome-doesnt-allows
但请注意,这些 Q 是关于域名的证书,它使用 SAN 条目类型 DNS;对于 IP 地址,您需要改用 IP。
PS:8080 通常用于备用 HTTP,8443 用于备用 HTTPS。将 8080 用于 HTTPS 令人困惑。
归档时间: |
|
查看次数: |
3534 次 |
最近记录: |