ssl证书(https/wss)内网测试

前言

一般后端部署到外网,可以去申请免费的SSL 证书, 但在内网测试时,需要自己生成证书
本章主要讲述ssl证书生成

1:环境
生成证书 openssl (windows or linux 都行)

2:生成证书
1>生成私钥
pkcs#1私钥
openssl genrsa -out server.key 2048
ssl证书(https/wss)内网测试_第1张图片
pkcs#8私钥
openssl genpkey -out server-pkcs8.key -algorithm RSA -pkeyopt rsa_keygen_bits:2048
ssl证书(https/wss)内网测试_第2张图片

2>生成 证书请求文件
subj子参数详解:
缩写 翻译 英文对照
C 国家名称缩写 Country Name (2 letter code)
ST 州或省名称 State or Province Name (full name)
L 城市或区域称 Locality Name (eg, city)
O 组织名(或公司名) Organization Name (eg, company)
OU 组织单位名称(或部门名) Organizational Unit Name (eg, section)
CN 服务器域名/证书拥有者名称 Common Name (e.g. server FQDN or YOUR name)
emailAddress 邮件地址 Email
这里以内网IP 192.168.1.32 为例,
openssl req -subj “/CN=192.168.1.32” -new -key server.key -out server.csr

ssl证书(https/wss)内网测试_第3张图片
3>生成自签名证书
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out ca.crt
ssl证书(https/wss)内网测试_第4张图片
3:测试
1> ca.crt 导入 (前端所在机子)
win10 位置 受信任的根证书颁发机构
ssl证书(https/wss)内网测试_第5张图片
2> 服务器
(1) c++ openssl
ssl证书(https/wss)内网测试_第6张图片
前端用golang 写的 结果如下
前端发hello 后端回复 hello变大写,其他不变
非hello ,第一个字符变为_
ssl证书(https/wss)内网测试_第7张图片
(2) rust tokio-websocket
在这里插入图片描述ssl证书(https/wss)内网测试_第8张图片
ssl证书(https/wss)内网测试_第9张图片

如用要用pkcs12 可以用命令生成 密码自己随便设
openssl pkcs12 -export -in cert.crt -inkey private.key -out cert.p12
rust tokio_native_tls 读取方式
ssl证书(https/wss)内网测试_第10张图片

私钥 pkcs1 转 pkcs8
openssl pkcs8 -in rsakey-pkcs1.key-topk8 -out rsakey-pkcs8.key -nocrypt
私钥 pkcs1 转 pkcs8 加密的
openssl pkcs8 -in rsakey-pkcs1.key -topk8 -out rsakey-pkcs8-enc.key
Enter Encryption Password: xxxx
Verifying - Enter Encryption Password: xxxx

4:DEMO工程 后续如有需要再上传
如果觉得有用,麻烦点个赞,加个收藏

你可能感兴趣的:(杂项,ssl,https,pkcs,wss,server)