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 实现的证书格式

相关推荐
一天八小时32 分钟前
计算机网络————(一)HTTP讲解
网络协议·计算机网络·http
小冷爱学习!6 小时前
华为动态路由-OSPF-完全末梢区域
服务器·网络·华为
技术小齐7 小时前
网络运维学习笔记 016网工初级(HCIA-Datacom与CCNA-EI)PPP点对点协议和PPPoE以太网上的点对点协议(此处只讲华为)
运维·网络·学习
shimly1234569 小时前
tcpdump 用法示例
网络·测试工具·tcpdump
xmweisi10 小时前
【华为】报文统计的技术NetStream
运维·服务器·网络·华为认证
VVVVWeiYee10 小时前
BGP配置华为——路径优选验证
运维·网络·华为·信息与通信
yourkin66611 小时前
TCP...
服务器·网络·tcp/ip
哑巴语天雨12 小时前
前端面试-网络协议篇
websocket·网络协议·http·面试·https
ktkiko1114 小时前
Websocket——心跳检测
网络·websocket·网络协议
GGGGGGGGGGGGGG.14 小时前
hapxory-ACL基础介绍及案例
运维·服务器·网络