首页 > 其他分享 >https本地自签名证书添加到信任证书访问

https本地自签名证书添加到信任证书访问

时间:2022-10-13 22:04:28浏览次数:72  
标签:www 证书 windows mkcert 签名 https com

1、背景

本文适用于基于https(http+ssl)的网站通信、本地调试等,上线是请寻找免费 ssl证书申请。

本地调试过程中,一些特殊的场景需要我使用http+ssl通信,比如在Chrome中使用客户端麦克风。

笔者起初使用以下一些命令,在linux、windows进行自签名,但是没能得到Chrome的信任,本地Chrome版本76.0

1. 使用openssl生成密钥privkey.pem:
openssl genrsa -out D:\develop\nginx-1.14.2\conf\privkey2.key 1024/2038
证书信息可以随便填或者留空,只有Common Name要根据你的域名填写。
2. 使用密钥生成证书server.pem:
openssl req -new -x509 -key D:\develop\nginx-1.14.2\conf\privkey2.key -out D:\develop\nginx-1.14.2\conf\server2.pem -days 365

 

典型的症状就是报错:

1、ERR_CERT_AUTHORITY_INVALID

2、Subject Alternative Name missing

如下图:

https本地自签名证书添加到信任证书访问_nginx

后来在​​网上​​​一篇文章《​​怎么让 chrome 信任自签名的 localhost 证书啊​​》找到了一些原因:

 

高版本的Chrome需要验证SAN

1. 首先要看你的 chrome 报的自签名证书是什么问题(不同错误提示,有不同的解决方法)
2. 要看你的 chrome 的版本号,从 58 版本开始,自签证书就只认 SAN 不认 CommonName 了
3. 自签证书里面设置的 SAN 是 ip 还是域名,目前 chrome 会认域名的,本地测试,建议改 host 来测

使用了​​mkcert​​​生成证书,响应的工具需要到github下载,​​https://github.com/FiloSottile/mkcert/releases​

下载 mkcert-vx.y.z-windows-amd64.exe

起初使用的命令如下

mkcert-v1.4.1-windows-amd64.exe www.aaa.com

同时也配置了本地dns(c:\windows\system32\drivers\etc\hosts)文件

172.16.3.50    www.aaa.com

然后执行

mkcert-v1.4.1-windows-amd64.exe -install

结果无效,Chrome还是报错。

正确方法如下:

1、生成证书

mkcert-v1.4.1-windows-amd64.exe www.aaa.com aiPlatform.dev localhost 127.0.0.1 ::1 172.16.3.50

2、安装证书

mkcert-v1.4.1-windows-amd64.exe -install

3、把mkcert-v1.4.1-windows-amd64.exe目录中生成的证书www.aaa.com+5.pem和www.aaa.com+5-key.pem拷贝到nginx的目录中,修改证书

https本地自签名证书添加到信任证书访问_java_02

 

 

 

https本地自签名证书添加到信任证书访问_java_03

 

 

 

修改证书

https本地自签名证书添加到信任证书访问_nginx_04

 

 

4、重启nginx

nginx -s stop
nginx

 

 经过以上配置,证书可以被信任了,也可以正常访问wss://服务

https本地自签名证书添加到信任证书访问_chrome_05

 

 

 以上地址,可以使用上面命令中使用到的几个地址,包括虚拟域名解析

​https://www.aaa.com:8443/asr_online_ws.html​

https本地自签名证书添加到信任证书访问_java_06

 

 

 

https本地自签名证书添加到信任证书访问_java_07

 

 

cer证书转jks

java下面笔者在本地调试的时候,由于使用的是自签名证书,需要在调试过程中加载自签名的信任证书。

java下面只人jks,所需需要进行证书转换,命令如下

keytool -import -alias mycert -file www.xxx.com+5.pem -keystore D:\cert\www.xxx.com+5.jks

弹出的提示框输入两次changeit,然后输入"是”,java代码中在通信前设置证书

public static void main(String[] args) {


System.setProperty("javax.net.ssl.trustStore","cert\\www.xxx.com+5.jks");
System.setProperty("javax.net.ssl.trustStorePassword", "changeit");

int length = args.length;
if(length==0)
{
System.out.println("请填写wav识别文件路径");
return;
}
String WS_URL="wss://ai.xxx.cn:6002/wsapi/asrv2";
}

 

 

相关网址:

​https://www.v2ex.com/t/524671​

​https://blog.filippo.io/mkcert-valid-https-certificates-for-localhost/​

​https://github.com/FiloSottile/mkcert​


标签:www,证书,windows,mkcert,签名,https,com
From: https://blog.51cto.com/u_296714/5754713

相关文章

  • nginx访问控制,用户认证,配置https,zabbix监控nginx状态页面
    nginx访问控制,用户认证,配置https,zabbix监控nginx状态页面nginx访问控制用于location段allow:设定允许哪台或哪些主机访问,多个参数间用空格隔开deny:设定禁止哪台或哪些......
  • python requests库提示警告:InsecureRequestWarning: Unverified HTTPS request is bei
    在利用requests访问链接,有时有有警告InsecureRequestWarning:UnverifiedHTTPSrequestisbeingmade.Addingcertificatever解决办法:Python3访问HT......
  • pe文件签名信息检测技术
    什么是pe文件的签名信息:以windows系统中NDIS.sys驱动程序为例,在该文件的右键属性窗口中,若包含数字签名属性页,则表示该pe文件内嵌有签名信息,如下图所示:当双击签名列表时,可以......
  • 下载https图片工具类
    普通http工具类httpClient访问https图片会报以下错误javax.net.ssl.SSLHandshakeException:java.security.cert.CertificateException:Nosubjectalternativenames......
  • nginx访问控制,用户认证,配置https,zabbix监控nginx状态页面
    nginx访问控制,用户认证,配置https,zabbix监控nginx状态页面nginx访问控制用于location段allow:设定允许哪台或哪些主机访问,多个参数间用空格隔开deny:设定禁止哪台或哪些......
  • RTX5的汽车级,工业级,医疗和铁路安全认证已经通过,证书已颁发
    说明:1、当前RTX5的教程已经在制作中,使用CMSIS-RTOSV2封装层,含FreeRTOS,配套V7,V6和V5板子。2、我们各种开发板和模块的资料汇总贴,搞了个cnblogs,临时先用着,会实时更新的:1、RTX......
  • OpenHarmony应用HAP包签名
    背景OpenAtomOpenHarmony(以下简称“OpenHarmony”)应用如果需要对外发布就必须要通过应用签名,DevEcoStudio已提供自动签名功能加速应用开发,但自动签名仅限于debug开发......
  • HTTPS协议
    一、HTTPS协议概念超文本传输安全协议(HypertextTransferProtocolSecure,简称:HTTPS)是一种通过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信,利用SSL/TLS来......
  • HTTPS涉及的加密算法讲解
    前言从2015年左右开始,Google、Baidu、Facebook等互联网巨头,不谋而合地开始大力推行HTTPS,国内外的大型互联网公司很多也都已经启用了全站HTTPS为鼓励全球网站的HTTPS......
  • 如何查看ssl证书
    1、   2、 ......