網站首頁 編程語言 正文
一、環境:CentOS7,Openssl1.1.1k。
二、概念:
根證書:是生成服務器證書和客戶端證書的基礎,也可以叫自簽發證書,即CA證書
服務器證書:由根證書簽發,配置在服務器。
客戶端證書:由根證書簽發,配置在客戶端。也可以配置在web服務器,安裝在瀏覽器。
對稱加密:用一個密碼加密文件,然后解密也用同樣的密碼。
非對稱加密:加密用的一個密碼,而解密用另外一組密碼。包括以下兩種情況:
用于加密數據時:公鑰加密,私鑰解密
用于文件簽名時:私鑰簽名,公鑰驗簽
三、步驟:
1、查看openssl的配置文件openssl.cnf
vim /etc/pki/tls/openssl.cnf
2、創建為根證書CA所需的目錄及文件
cd /etc/pki/CA #創建配置文件信息中所需的目錄及文件 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、生成服務器證書
# 生成服務端私鑰(server.key) openssl genrsa -des3 -out server.key 2048 # 生成服務端證書簽名請求(server.csr) openssl req -new -key server.key -out server.csr # 使用ca證書簽署服務端csr以生成服務端證書(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、查看證書內容
openssl x509 -in server.crt -noout -text
8、將crt轉換為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
相關推薦
- 2022-08-11 如何利用python繪制等高線圖_python
- 2022-08-04 docker安裝elastic?search的詳細過程_docker
- 2022-04-09 WPF圖表LiveChart使用詳解_基礎應用
- 2022-12-04 react?component?function組件使用詳解_React
- 2022-11-29 C#使用泛型隊列Queue實現生產消費模式_C#教程
- 2022-06-19 C++詳細分析講解函數參數的擴展_C 語言
- 2022-06-06 SpringBoot、SpringCloud、SpringCloudAlibaba的版本對應關系
- 2022-08-31 Python?selenium?find_element()示例詳解_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支