c++ openssl制作证书并适应谷歌内核58版本之后

本次制作证书是用于浏览器跟c++写的本地服务端进行websocket协议https的连接

Chrome58以后对https的证书认证较为严格,证书里必须带有正确的Common Name,也就是必须有DNS Name=ajax.googleapis.com, IP Address=127.0.0.1这样的信息,浏览器才认为真正安全

步骤
1. 安装或者编译一个OpenSSL, 在bin目录里有OpenSSL可执行程序 (Linux, Windows, MacOX 都可以的)
2. 修改openssl.cnf文件。
在[ req ]一节下找到req_extensions = v3_req 取消注释(去掉#号)
在[ v3_req ] 一节 增加 subjectAltName = @alt_names

在[ v3_req ] 一节 的上方增加一节

[ alt_names ]

DNS.1 = ajax.googleapis.com
DNS.2 = localhost
IP.1 = 127.0.0.1

IP.2 = 192.168.11.70

3. 开始正常的步骤制作证书

一、CA证书制作

1.创建私钥 : 
C:\OpenSSL\bin>openssl genrsa -out ca/ca.key 1024 

2.创建证书请求 : 
C:\OpenSSL\bin>openssl req -new -x509 -days 36500 -key ca/ca.key -out ca/ca-cert.crt  

----- 
Country Name (2 letter code) [AU]:CN 
State or Province Name (full name) [Some-State]:ChongQing
Locality Name (eg, city) []:ChongQing
Organization Name (eg, company) [Internet Widgits Pty Ltd]:ChongQingYiZheng 
Organizational Unit Name (eg, section) []:RuanJianBu
Common Name (eg, YOUR name) []:127.0.0.1 
Email Address []:127.0.0.1 

二、nginx服务端证书制作
5.生成nginx私钥

openssl genrsa -out cf/nginx.key 2048

6.生成(.csr)请求文件

openssl req -new   -key cf/nginx.key -out cf/nginx.csr  -config cf/openssl.cnf

注意Common Name要写上自己的域名

7.用自己的CA证书签名

openssl x509 -req -in cf/nginx.csr -CA ca/ca-cert.crt -CAkey ca/ca.key -CAcreateserial -out cf/nginx.crt -extensions v3_req -extfile cf/openssl.cnf -days 36500

将CA证书放进受信任的根证书颁发机构,nginx.key,nginx.crt放进服务端;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值