SSL/TSL 总结

embedded/2024/12/22 9:00:46/

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


http://www.ppmy.cn/embedded/115032.html

相关文章

linux cat命令的实现

cat 是 Linux 和其他 Unix-like 系统中的一个常用命令,它的名称来源于 "concatenate"(连接)的缩写。cat 命令主要用于查看、创建和拼接文件。它读取一个或多个文件的内容,并将它们显示在标准输出(通常是终端…

centos7 添加中文字体

一、打开C:\Windows\Fonts 复制 复制出来再拷贝到linux服务器目录:/usr/share/fonts/jtwin #执行 #mkdir /usr/share/fonts/jtwin chmod -R 755 /usr/share/fonts/jtwin yum -y install ttmkfdir ttmkfdir -e /usr/share/X11/fonts/encodings/encodings.dir 编辑&…

【Godot4.x】Mesh相关知识总结

概述 很早之前发布过一篇关于几何体程序生成的文章,当时对于三角面和网格的构造其实还没有特别深入的认识,直到自己脑海里想到用二维数组和点更新的方式构造2D类型的多边形Mesh结构,也意识到在Godot中其实Mesh不仅是3D网格,也可以…

WPS生成目录

导航窗格:视图->导航窗格 可修改标题的样式,之后的标题直接套用即可 修改其他标题样式也是这样 添加编号:可以选上面的模版 也可自定义编号 生成目录:引用->目录->选用一个 但是我想把目录插到另一页 当我添加几个标题…

状态模式:将对象行为与状态解耦

状态模式(State Pattern)是一种行为设计模式,它允许对象在其内部状态改变时改变其行为,使对象看起来好像修改了其类。 状态模式的核心思想是将对象的行为封装在不同的状态对象中,每个状态对象都代表了对象在某一特定状…

linux部署Java项目时,阿里云OSS报错“超出了最大允许的时间偏差范围“

项目场景: linux部署Java项目时,阿里云OSS报错—RequestTimeTooSkewed 问题描述 linux部署Java项目时,阿里云OSS报错—RequestTimeTooSkewed 详细错误信息如下 [ErrorCode]: RequestTimeTooSkewed [RequestId]: 66ED6295352E0D3332BE4CC7 …

如何进行IP清洗

在数据抓取、网络爬虫或网络营销等活动中,IP地址的清洗是一个至关重要的环节。IP清洗旨在移除无效、受污染或可能引发问题的IP地址,从而提高网络活动的效率和安全性。本文将详细介绍如何进行IP清洗,包括识别问题IP、选择清洗工具、执行清洗过…

创客中国AIGC专题赛冠军天鹜科技:AI蛋白质设计引领者

“落霞与孤鹜齐飞,秋水共长天一色——这句出自《滕王阁序》的诗句,是我作为江西人熟记于心的佳句。它描绘的天地壮丽景色常浮现于我的脑海,正是这种豁达与壮观,启发我们将公司命名为‘天鹜科技’,我们希望将源自自然的蛋白质与现代科技的创新精神相结合,打造蛋白质设计与应用的…