基本OpenSSL自建本地CA和簽發用戶證書

本文以windows下自建CA爲例。

openssl下載與安裝

下載地址:

http://slproweb.com/products/Win32OpenSSL.html?utm_source=so
在這裏插入圖片描述
OpenSSL 支持 32 位和 64 位,根據自己系統選擇對應的安裝包。

OpenSSL安裝

安裝默認安裝,next and next。最後有一個打賞頁,取消選擇,點擊”Finish“,安裝完成。
在這裏插入圖片描述
安裝驗證:在命令提示窗口輸入“openssl version”,顯示版本信息表明安裝成功。
在這裏插入圖片描述

CA體系介紹

在這裏插入圖片描述
CA首先有一個根CA,根CA是自簽發生生成。爲了考慮CA體系的安全和管理需要,根CA一般不直接簽發用戶證書;而是由根CA簽發一個或者多箇中間(中級)CA,由中間CA來簽發最終用戶CA。
例如:
在這裏插入圖片描述

CA目錄準備

在進行自建CA部署之前,在D:\創建“rootca”主目錄,在rootca下創建一個私鑰目錄(private)和一個證書目錄(certs)。
在這裏插入圖片描述

OpenSSL自建CA部署

根據CA體系要求,我們第一步首選創建根CA。
打開 cmd 命令窗口(運行中輸入cmd),切換到D:\rootca目錄下。
在這裏插入圖片描述

創建根CA

創建根CA私鑰

D:\rootca>openssl genrsa -aes256 -out private/rootca.key.pem 2048

在這裏插入圖片描述
輸入私鑰保護密碼,爲了方便後續操作方便,所有密碼均設爲123456。
在這裏插入圖片描述

創建根CA證書請求

openssl req -new -key private/rootca.key.pem -out private/rootca.csr -subj "/C=CN/ST=JS/L=NJ/O=TestCA/OU=Root CA/CN=TestCA Root CA" -config “C:/Program Files/OpenSSL-Win64/bin/cnf/openssl.cnf”

在這裏插入圖片描述
在這裏插入圖片描述

簽發根CA證書

根CA證書的簽發採用自簽名方式,使用的第一步創建的私鑰。

openssl x509 -req -days 3650 -sha1 -extensions v3_ca -signkey private/rootca.key.pem -in private/rootca.csr -out certs/rootca.cer

在這裏插入圖片描述
錯誤提示:
有效期設爲7300時會報asn1格式錯誤,改爲3650,可以成功,這個是日期編碼的原因。

openssl x509 -req -days 7300 -sha1 -extensions v3_ca -signkey private/rootca.key.pem -in private/rootca.csr -out certs/rootca.cer

在這裏插入圖片描述
在“certs”目錄生成了根CA證書“rootca.cer”。
在這裏插入圖片描述
在這裏插入圖片描述

簽發中間(中級)CA

步驟與根CA類似,只有在簽發中間CA是使用的是根CA證書私鑰。

創建中間CA私鑰。

D:\rootca>openssl genrsa -aes256 -out private/ca.key.pem 2048

在這裏插入圖片描述
在這裏插入圖片描述

創建中間CA證書請求

D:\rootca>openssl req -new -key private/ca.key.pem -out private/ca.csr -subj "/C=CN/ST=JS/L=NJ/O=TestCA/OU=TestCA L1/CN=TestCA Certificate Authority" -config "C:/Program Files/OpenSSL-Win64/bin/cnf/openssl.cnf"

在這裏插入圖片描述

由根CA簽發中間CA

D:\rootca>openssl x509 -req -days 3650 -sha1 -extensions v3_req -CA certs/rootca.cer -CAkey private/rootca.key.pem -CAserial rootca.srl -CAcreateserial -in private/ca.csr -out certs/ca.cer

在這裏插入圖片描述
中間CA生成功,通過證書路徑,可以看到上的上級證書(根CA)。
在這裏插入圖片描述

簽發用戶CA

用戶CA是由中間CA簽發的,到此爲至根CA可以放到倉庫好好保存起來啦。

創建用戶CA私鑰

D:\rootca>openssl genrsa -aes256 -out private/user.key.pem 2048

在這裏插入圖片描述
在這裏插入圖片描述

創建用戶CA證書請求

D:\rootca>openssl req -new -key private/user.key.pem -out private/user.csr -subj "/C=CN/ST=JS/L=NJ/O=Alice/OU=Alice Li/CN=Test Company" -config "C:/Program Files/OpenSSL-Win64/bin/cnf/openssl.cnf"

在這裏插入圖片描述
在這裏插入圖片描述

由中間CA簽發用戶CA

D:\rootca>openssl x509 -req -days 3650 -sha1 -extensions v3_req -CA certs/ca.cer -CAkey private/ca.key.pem -CAserial ca.srl -CAcreateserial -in private/user.csr -out certs/user.cer

在這裏插入圖片描述
在這裏插入圖片描述
到此爲至整個自建CA已經搭建完成,且成功簽發了一張用戶CA,由於鄙人水平有限,不足之處請不吝賜教,希望大家共同進步。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章