SSL/TSL 总结

参考:https://blog.csdn.net/qq153471503/article/details/109524764

(一)生成CA证书

1、创建CA证书私钥

openssl genrsa -aes256 -out ca.key 2048 (密码:ca1234567890)

2、请求证书

openssl req -new -sha256 -key ca.key -out ca.csr -subj "/C=CN/ST=SD/L=JN/O=QDZY/OU=www.test.com/CN=CA/emailAddress=admin@test.com" (密码:ca1234567890)

3、自签署证书

openssl x509 -req -days 36500 -sha256 -extensions v3_ca -signkey ca.key -in ca.csr -out ca.cer (密码:ca1234567890)

(二)生成服务器证书

1、创建服务器私钥

openssl genrsa -aes256 -out server.key 2048 (密码:server1234567890)

2、请求证书

openssl req -new -sha256 -key server.key -out server.csr -subj "/C=CN/ST=SD/L=JN/O=QDZY/OU=www.test.com/CN=SERVER/emailAddress=admin@test.com" (密码:server1234567890)

3、使用CA证书签署服务器证书

openssl x509 -req -days 36500 -sha256 -extensions v3_req -CA ca.cer -CAkey ca.key -CAserial ca.srl -CAcreateserial -in server.csr -out server.cer (密码:ca1234567890)

(三)生成客户端证书 (密码:server1234567890)

1、创建客户端私钥

openssl genrsa -aes256 -out client.key 2048 (密码:client1234567890)

2、申请证书

openssl req -new -sha256 -key client.key -out client.csr -subj "/C=CN/ST=SD/L=JN/O=QDZY/OU=www.test.com/CN=CLIENT/emailAddress=admin@test.com" (密码:client1234567890)

3、使用CA证书签署客户端证书

openssl x509 -req -days 36500 -sha256 -extensions v3_req -CA ca.cer -CAkey ca.key -CAserial ca.srl -CAcreateserial -in client.csr -out client.cer (密码:ca1234567890)

验证:

单向认证命令行:

服务器:

openssl s_server -CAfile ca.cer -cert server.cer -key server.key -accept 22580 (密码:server1234567890)

客户端:

openssl s_client -CAfile ca.cer -cert client.cer -key client.key -connect 127.0.0.1 -port 22580 (密码:client1234567890)

双向认证:

服务器:

openssl s_server -CAfile ca.cer -cert server.cer -key server.key -accept 22580 -Verify 1 (密码:server1234567890)

客户端:

openssl s_client -CAfile ca.cer -cert server.cer -key server.key -cert client.cer -key client.key -connect 127.0.0.1 -port 22580 (密码:client1234567890)

备注:

证书的参数含义

C-----国家(Country Name)

ST----省份(State or Province Name)

L----城市(Locality Name)

O----公司(Organization Name)

OU----部门(Organizational Unit Name)

CN----产品名(Common Name)

emailAddress----邮箱(Email Address)

=================================================================================================================

Linux 系统使用 CRT,Windows 系统使用 CER

名词 含义

X.509 一种通用的证书格式,包含证书持有人的公钥,加密算法等信息

pkcs1 ~pkcs12 公钥加密(非对称加密)的一种标准(Public Key Cryptography Standards),一般存储为 .pN,, .p12 是包含证书和密的封装格式

*.der 证书的二进制存储格式(不常用)

*.pem 证书或密钥的 Base64 文本存储格式,可以单独存放证书或密钥,也可以同时存放证书或密钥

*.key 单独存放的 pem 格式的密钥,一般保存为 *.key

*.cer *.crt 两个指的都是证书,Linux 下叫 crt,Windows 下叫 cer;存储格式可以是 pem,也可以是 der

*.csr 证书签名请求(Certificate signing request),包含证书持有人的信息,如:国家,邮件,域名等信息

*.pfx 微软 IIS 的实现

*.jks Java 的 keytool 实现的证书格式

相关推荐
迪康Defender18 分钟前
终端供应链安全:应用白名单与软件正版化检测落地|终端安全治理实践
运维·服务器·网络·安全·web安全·自动化·运维开发
Yves..30 分钟前
HTTP 协议学习笔记:从报文结构到抓包实践
网络协议·http·fiddler
xiaoye-duck2 小时前
《C++ 项目:手写大模型接入 SDK》DeepSeek接口设计(下):流式响应实现和测试
开发语言·网络·c++·语言模型
其实防守也摸鱼3 小时前
信创安全竞赛知识总结与题库
大数据·网络·人工智能·算法·安全·php
万联WANFLOW3 小时前
异地厂区视频监控远程运维:从组网到安全的实施要点
运维·网络·安全·企业组网·sdwan
衍玊4 小时前
深入剖析 TCP/IP 网络通信原理与内核实现
服务器·网络·tcp/ip
.Bryce.4 小时前
从零到一开发技术名词大全:从需求分析到 AI Agent 工程
java·网络·人工智能·agent·需求分析·agent评测
Black蜡笔小新6 小时前
上云网关/端口穿透/设备上云EasyNTS:无需公网IP、也不改防火墙,设备怎么从内网跑到外网去
网络·网络协议·tcp/ip
Escalating_xu7 小时前
【Linux 网络编程】五种 I/O 模型与非阻塞 I/O:从“等数据”到正确处理 EAGAIN
java·linux·网络
默|笙8 小时前
【Linux网络】传输层协议TCP(3)滑动窗口、流量控制
linux·网络·tcp/ip