創建CA證書
CA證書
CA 也擁有一個證書(內含公鑰和私鑰)。網上的公眾用戶通過驗證 CA 的簽字從而信任 CA ,任何人都可以得到 CA 的證書(含公鑰),用以驗證它所簽發的證書。
如果用戶想得到一份屬于自己的證書,他應先向 CA 提出申請。在 CA 判明申請者的身份后,便為他分配一個公鑰,并且 CA 將該公鑰與申請者的身份信息綁在一起,并為之簽字后,便形成證書發給申請者。
如果一個用戶想鑒別另一個證書的真偽,他就用 CA 的公鑰對那個證書上的簽字進行驗證,一旦驗證通過,該證書就被認為是有效的。證書實際是由證書簽證機關(CA)簽發的對用戶的公鑰的認證。
證書的內容包括:電子簽證機關的信息、公鑰用戶信息、公鑰、權威機構的簽字和有效期等等。目前,證書的格式和驗證方法普遍遵循X.509 國際標準。
證書類型:
1. 證書授權機構的證書
2. 服務器
3. 用戶證書
獲取證書兩種方法:
-
使用證書授權機構
1. 生成簽名請求(csr)
2. 將csr發送給CA
3. 從CA處接收簽名 -
自簽名的證書
自已簽發自己的公鑰
創建私有CA:
openssl的配置文件:/etc/pki/tls/openssl.cnf
三種策略:匹配、支持和可選
匹配指要求申請填寫的信息跟CA設置信息必須一致,支持指必須填寫這項申請信息,可選指可有可無
1. 創建所需要的文件
touch /etc/pki/CA/index.txt 創建文件,生成證書索引數據庫文件
2. 指定第一個頒發證書的序列號
echo 01 > /etc/pki/CA/serial 只要是兩位數的數字都可以為序列號,你也可以把01換成99,這里我們就寫01,方便后續。
3. CA自簽證書
(umask 066;openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048) 創建文件,生成私鑰,括號是為了讓權限臨時生效,怕影響以后權限,2048是私鑰加密的長度,也可以選擇1024、2048、4096....
4. 生成自簽名證書
openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3650 輸入命令后會彈出設置頁面,按順序分為:國家、省、市、公司、單位、域名(服務器名稱)、郵箱地址。 -new 生成新證書簽署請求 -x509 專用與CA生成自簽證書 -key 生成請求時用到的私鑰文件 -days n 證書的有效期限 -out /PATH/TO/SOMECERTFILE 證書的保存路徑
5. 頒發證書
-
A 在需要使用證書的主機生成證書請求,在客戶端上重復上面第一步。
(1) 創建私鑰(另一臺電腦或者虛擬機)
(umask 066;openssl genrsa -out /app/service.key) 地址不用服務器那么嚴格,可自行放入家目錄里或者其他目錄,只是路徑一定要寫清楚
(2) 生成證書的申請文件
openssl req -new -key /app/service.key -out /app/service.csr 這個命令輸入之后也會出設置頁面,按順序分為:國家、省、市、公司、組織、對外網站(網站名叫什么必須就填什么,比如www.XXXXX.com)、郵箱、密碼、可選公司名 注意:國家、省、公司,這3個必須和上面服務器的CA一樣。 郵箱、密碼、可選公司名,這3個可以填可以不填。
-
B 將證書請求文件傳輸給服務器CA
scp /app/service.csr 192.168.XX.XXX:/etc/pki/CA/csr 將證書.csr這個文件傳輸服務器 scp是一個遠程傳輸文件的小工具。
-
C CA簽署證書,并將證書頒發給請求者
openssl ca -in /etc/pki/CA/csr/service.csr -out /etc/pki/CA/certs/service.crt -days 365 頒發證書,由服務器頒發。 注意:剛剛默認設置選項:國家,省,公司名稱,這三項一定要和CA一樣,剛剛也提醒了,不然就會報錯。
-
D 查看證書中的信息
openssl x509 -in /etc/pki/CA/newcerts/01.pem -noout -text 查看01證書的詳細信息
6. 吊銷證書
-
A 在客戶端或許要吊銷的證書的serial
openssl x509 -in /etc/pki/CA/newcerts/01.pem -noout -serial -subject
-
B 在CA上,根據客戶提交的serial與subject信息,對比檢驗是否與index.txt文件中的信息一致,吊銷證書
openssl ca -revoke /etc/pki/CA/newcerts/01.pem 最后01是你要取消的證書編號。如果你是99那就寫99.pem就可以了,你想吊銷那個證書就填那個。
cat /etc/pki/CA/index.txt 查看證書失效或者生效 R失效 V生效
-
C 指定第一個吊銷證書的編號
echo 01 > /etc/pki/CA/crlnumber 注意:第一次更新證書吊銷列表前才需要執行。注意第一次。
-
D 更新證書吊銷列表
openssl ca -gencrl -out /etc/pki/CA/crl/crl.pem
更新吊銷列表,將吊銷的文件放進去
openssl ca -gencrl -out /etc/pki/CA/crl/crl.pem 更新吊銷列表,將吊銷的文件放進去
openssl crl -in /etc/pki/CA/crl/crl.pem -noout -text 查看crl文件
原創文章,作者:Az2h1丶,如若轉載,請注明出處:http://www.www58058.com/82521