uniapp做https证书双向认证(openssl)

本文主要参考了:

NGINX 配置本地HTTPS(双向认证) - 肖祥 - 博客园

https://ask.dcloud.net.cn/article/39567

https://blog.csdn.net/weixin_34387468/article/details/91855502

我主要使用openssl工具来生成的https证书,但是网上大多数是用keytool。其实最重要的是设置正确的SAN信息。(这里介绍了SAN设置)。

生成正确SAN信息的证书,首先要生成3对证书,一个是根证书,用来签发子证书。一个server证书,用来放服务器端。一个client证书,用来放到客户端。

然后将server和client的证书,使用根证书签发。

# CA根证书
openssl req -new -nodes -keyout ca.key -out ca.csr -days 3650 -config ./openssl.cnf
# server证书
openssl req -new -nodes -keyout server.key -out server.csr -days 3650 -config ./openssl2.cnf
# client证书
openssl req -new -nodes -keyout client.key -out client.csr -days 3650 -config ./openssl2.cnf

# 查看证书 是否带san Subject Alternative Name字段是否有值
# csr格式
openssl req -text -noout -in server.csr
# crt格式
openssl x509 -text -noout -in client.crt

# 签名 带SAN签名
openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 365 -extfile ./openssl2.cnf -extensions v3_req
openssl x509 -req -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out client.crt -days 365 -extfile ./openssl2.cnf -extensions v3_req

另外附上证书各种格式转换命令

# 转P12 (uniapp需要)
openssl pkcs12 -export -in client.crt -inkey client.key -out client.p12 -name "client" 

#  crt转pem
openssl x509 -in client.crt -out client.pem -outform PE

#  crt转cer
openssl x509 -in server.crt -out server.cer -outform der
openssl x509 -in client.crt -out client.cer -outform der

# 转der (ios需要)
openssl x509 -in client.crt -outform der -out client.der
# curl 测试证书命令:
curl --cacert ca.crt --cert client.crt --key client.key --tlsv1.2 --insecure https://gateway.xxx.cn/api/_sys/health

看别人踩坑,铺平自己的路,欢迎关注猿界汪汪队;

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值