Linux系统搭建私有CA证书服务器
什么是證書?
它是用來證明某某東西確實是某某東西的東西。通俗地說,證書就好比公章。通過公章,可以證明相關文件確實是對應的公司發出的。
理論上,人人都可以找個證書工具,自己做一個證書。
什么是CA?
CA全稱Certificate Authority,也叫“證書授權中心”。它是負責管理和簽發證書的第三方機構。
什么是CA證書?
CA證書,就是CA頒發的證書。
前面說了,人人都可以找工具制作證書。但是制作出來的證書是沒用的,因為不具備權威性。
證書的簽發過程
a.服務方 S 向第三方機構CA提交公鑰、組織信息、個人信息(域名)等信息并申請認證
b.CA 通過線上、線下等多種手段驗證申請者提供信息的真實性,如組織是否存在、企業是否合法,是否擁有域名的所有權等
c.如信息審核通過,CA 會向申請者簽發認證文件-證書。
證書包含以下信息:申請者公鑰、申請者的組織信息和個人信息、簽發機構 CA 的信息、有效時間、證書序列號等信息的明文,同時包含一個簽名
簽名的產生算法:首先,使用散列函數計算公開的明文信息的信息摘要,然后,采用 CA 的私鑰對信息摘要進行加密,密文即簽名
d.客戶端 C 向服務器 S 發出請求時,S 返回證書文件
e.客戶端 C 讀取證書中的相關的明文信息,采用相同的散列函數計算得到信息摘要,然后,利用對應 CA 的公鑰解密簽名數據,對比證書的信息摘要,如果一致,則可以確認證書的合法性,即公鑰合法;
f.客戶端然后驗證證書相關的域名信息、有效時間等信息
g.客戶端會內置信任 CA 的證書信息(包含公鑰),如果CA不被信任,則找不到對應 CA 的證書,證書也會被判定非法。
在這個過程注意幾點
1.申請證書不需要提供私鑰,確保私鑰永遠只能服務器掌握
2.證書的合法性仍然依賴于非對稱加密算法,證書主要是增加了服務器信息以及簽名
3.內置 CA 對應的證書稱為根證書,頒發者和使用者相同,自己為自己簽名,即自簽名證書
證書=公鑰+申請者與頒發者信息+簽名
CA證書常用于https (SSL加密)
1.生成四個證書文件
Certs ?證書存放位置
Newcerts 新申請的證書位置
Crl 吊銷的證書
Private 密鑰存放位置
2.生成證書索引數據庫文件
要進入到CA中生成
[root@ca CA]# touch index.txt3.指定一個頒發證書的序列號
[root@ca CA]# echo "01">serial4.為CA創建私鑰
?私鑰默認存放在/etc/pki/CA/private
[root@ca CA]# openssl genrsa -out private/cakey.pem 20482048 是代表位數 位數越多越安全 常見的有 2048、4096
5.為CA創建根證書
?CA根證書默認存放在CA下面
[root@ca CA]# openssl req -new -x509 -nodes -key private/cakey.pem -days 7300 -out cacert.pem加時間-days 7300? 20年
????req 表示證書輸出的請求
???-key密鑰
???-new表示新的請求
???-out輸出路徑
???-x509 簽發x509格式證書命令
填寫證書請求
國家=CN
省=shanghai
城市=shanghai
組織=cdll
組織單位=system
公用民=cdll.com
電子郵箱=
二.客戶端
1.客戶端創建證書申請
[root@web ~]# openssl req -new -nodes -keyout web.llzz.com.key -out web.llzz.com.csrweb.llzz.com.key 表示生成的密鑰
web.llzz.com.csr 證書請求文件
2.將生成的csr請求文件發送給CA證書中心
[root@web ~]# scp web.llzz.com.csr 10.10.30.101:/etc/pki/CA ip后面跟文件存放的位置存放在CA下更方便
3.為客戶端頒發證書
4.當CA私鑰與根證書存放在默認位置時,不需要指定
CA私鑰默認存放位置:/etc/pki/CA/private/ ?
CA根證書默認存放位置:/etc/pki/CA
-days 3650 時間=10 年
[root@ca /]# openssl ?ca -in web.llzz.com.csr -days 3650 -out web.llzz.com.crt?5.將生成的crt 證書傳到客戶端
[root@ca CA]# scp web.llzz.com.crt 10.10.30.102:/root總結
以上是生活随笔為你收集整理的Linux系统搭建私有CA证书服务器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: uwp应用在debug模式下运行正常,编
- 下一篇: 进程间通信管道进阶篇:linux下dup