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

前言

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

本章主要讲述ssl证书生成

1:环境

生成证书 openssl (windows or linux 都行)

2:生成证书

1>生成私钥

pkcs#1私钥

openssl genrsa -out server.key 2048

pkcs#8私钥

openssl genpkey -out server-pkcs8.key -algorithm RSA -pkeyopt rsa_keygen_bits:2048

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

3>生成自签名证书

openssl x509 -req -days 3650 -in server.csr -signkey server.key -out ca.crt

3:测试

1> ca.crt 导入 (前端所在机子)

win10 位置 受信任的根证书颁发机构

2> 服务器

(1) c++ openssl

前端用golang 写的 结果如下

前端发hello 后端回复 hello变大写,其他不变

非hello ,第一个字符变为_

(2) rust tokio-websocket

如用要用pkcs12 可以用命令生成 密码自己随便设

openssl pkcs12 -export -in cert.crt -inkey private.key -out cert.p12

rust tokio_native_tls 读取方式

私钥 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工程 后续如有需要再上传
如果觉得有用,麻烦点个赞,加个收藏

相关推荐
2501_9159184111 小时前
iOS 开发全流程实战 基于 uni-app 的 iOS 应用开发、打包、测试与上架流程详解
android·ios·小程序·https·uni-app·iphone·webview
一刀到底21113 小时前
springboot3.3.5 集成elasticsearch8.12.2 ssl 通过 SSL bundle name 来实现
网络·elasticsearch·ssl·springboot3
Mysticbinary16 小时前
BurpSuite 代理原理 和 证书钉扎检测技术
http·https·网络代理·代理·网络流量·websockets·证书钉扎
ZPC821019 小时前
scp 网间拷贝
网络协议·tcp/ip·ssl·信息与通信
想睡hhh1 天前
HTTPS协议——对于HTTP的协议的加密
http·https
司徒小夜2 天前
HTTP与HTTPS杂谈-HTTPS防御了什么
网络·http·https
一只游鱼2 天前
利用keytool实现https协议(生成自签名证书)
网络协议·http·https·keytool
赖龙2 天前
记录SSL部署,链路不完整问题
网络·网络协议·ssl
I like Code?2 天前
阿里云服务器配置ssl-docker nginx
服务器·阿里云·ssl
梦想blog2 天前
使用 Acme.sh 获取和管理免费 SSL 证书
证书·ssl·acme