網(wǎng)站首頁 編程語言 正文
一、環(huán)境:CentOS7,Openssl1.1.1k。
二、概念:
根證書:是生成服務(wù)器證書和客戶端證書的基礎(chǔ),也可以叫自簽發(fā)證書,即CA證書
服務(wù)器證書:由根證書簽發(fā),配置在服務(wù)器。
客戶端證書:由根證書簽發(fā),配置在客戶端。也可以配置在web服務(wù)器,安裝在瀏覽器。
對稱加密:用一個(gè)密碼加密文件,然后解密也用同樣的密碼。
非對稱加密:加密用的一個(gè)密碼,而解密用另外一組密碼。包括以下兩種情況:
用于加密數(shù)據(jù)時(shí):公鑰加密,私鑰解密
用于文件簽名時(shí):私鑰簽名,公鑰驗(yàn)簽
三、步驟:
1、查看openssl的配置文件openssl.cnf
vim /etc/pki/tls/openssl.cnf
2、創(chuàng)建為根證書CA所需的目錄及文件
cd /etc/pki/CA #創(chuàng)建配置文件信息中所需的目錄及文件 mkdir -pv {certs,crl,newcerts,private} touch {serial,index.txt}
3、指明證書的開始編號
echo 01 >> serial
4、生成根證書
# 生成CA私鑰(ca.key) openssl genrsa -des3 -out ca.key 2048 # 生成CA證書簽名請求(ca.csr) openssl req -new -key ca.key -out ca.csr # 生成自簽名CA證書(ca.cert) openssl x509 -req -days 3650 -in ca.csr -signkey ca.key -out ca.crt
5、生成服務(wù)器證書
# 生成服務(wù)端私鑰(server.key) openssl genrsa -des3 -out server.key 2048 # 生成服務(wù)端證書簽名請求(server.csr) openssl req -new -key server.key -out server.csr # 使用ca證書簽署服務(wù)端csr以生成服務(wù)端證書(server.cert) openssl ca -days 3650 -in server.csr -out server.crt -cert ca.crt -keyfile ca.key
6、生成客戶端證書
# 生成客戶端私鑰(client.key) openssl genrsa -des3 -out client.key 2048 # 生成客戶端證書簽名請求(client.csr) openssl req -new -key client.key -out client.csr # 使用ca證書簽署客戶端csr以生成客戶端證書(client.cert) openssl ca -days 3650 -in client.csr -out client.crt -cert ca.crt -keyfile ca.key
7、查看證書內(nèi)容
openssl x509 -in server.crt -noout -text
8、將crt轉(zhuǎn)換為pem
openssl x509 -in ca.crt -out ca.pem -outform PEM openssl x509 -in server.crt -out server.pem -outform PEM openssl x509 -in client.crt -out client.pem -outform PEM
9、剝離私鑰key的密碼
openssl rsa -in server.key -out serverkey.pem openssl rsa -in client.key -out clientkey.pem
生成后的證書列表:? ? ??
????????
原文鏈接:https://blog.csdn.net/sunkaijie123/article/details/121727545
相關(guān)推薦
- 2022-04-01 k8s報(bào)錯(cuò)error: You must be logged in to the server (U
- 2024-01-16 where語句后跟case語句
- 2023-03-20 C#中如何限制TextBox控件內(nèi)輸入值的范圍_C#教程
- 2022-09-10 關(guān)于pandas.date_range()的用法及說明_python
- 2022-06-09 ASP.NET?Core使用EF為關(guān)系數(shù)據(jù)庫建模_實(shí)用技巧
- 2022-10-24 Python?中單例模式的實(shí)現(xiàn)方法_python
- 2022-10-13 Broadcast廣播機(jī)制在Pytorch?Tensor?Numpy中的使用詳解_python
- 2022-05-09 Python學(xué)習(xí)之面向?qū)ο缶幊淘斀鈅python
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支