免费生成https用的pem证书教程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了免费生成https用的pem证书教程相关的知识,希望对你有一定的参考价值。

参考技术A 【1】生成CSR文件
进入下面网页生成一个CSR文件
https://csr.chinassl.net/generator-csr.html

【2】生成免费SSL证书文件
进入网站生成:
https://csr.chinassl.net/free-ssl.html

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

1、背景

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

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

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

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

 

典型的症状就是报错:

1、ERR_CERT_AUTHORITY_INVALID

2、Subject Alternative Name missing

如下图:

技术图片

后来在网上一篇文章《怎么让 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:windowssystem32driversetchosts)文件

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的目录中,修改证书

技术图片

 

 

 技术图片

 

 

 

修改证书

技术图片

 

 

4、重启nginx

nginx -s stop
nginx

 

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

技术图片

 

 

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

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

技术图片

 

 

 技术图片

 

 

 

版权归https://global.v2ex.com/t/365406及原作者所有

相关网址:

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

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

https://github.com/FiloSottile/mkcert

以上是关于免费生成https用的pem证书教程的主要内容,如果未能解决你的问题,请参考以下文章

k8s-ssl证书安装

在Nginx下部署SSL证书并重定向至HTTPS的教程

Let's Encrypt 免费通配符 SSL 证书申请教程——但是也需要email,域名所有权等,如果是黑产用的话会这样用吗?会不会暴露自己身份???

阿里云免费证书配置

详细实战教程!部署Flask网站+域名访问+免费https证书

openssl生成.pem证书