我正在测试https网络服务器,尝试从我的Android手机访问它时遇到问题。
执行的步骤:
使用以下脚本:Getting Chrome to accept self-signed localhost certificate,我生成了证书和密钥供服务器通过IP:192.168.0.101
进行访问(在脚本中IP替换了DNS alt_name);
Ran golang(也尝试过nodejs)网络服务器,其证书/密钥对如下:
http.ListenAndServeTLS("192.168.0.101:8443", "/home/username/ssl/192.168.0.101.crt", "/home/username/ssl/192.168.0.101.key", router)
将myCA.pem
添加为台式机Google Chrome浏览器中的受信任的权限,并且可以正常工作;
在Android证书存储中添加了与受信任的授权机构相同的myCA.pem
,尝试重新启动chrome /设备,但仍然无效。
答案 0 :(得分:0)
感觉就像我在服务器证书(或错误称为CA)和/或CA上做错了什么,我不知道为什么它在PC上可以工作。
我已经按照以下设置重新创建了所有证书:
CN=localhost
[alt_names]
IP.1=127.0.0.1
IP.2=192.168.0.101
IP.3=<external_ip_here_to_check_from_the_web>
它在两个平台上都能正常工作。