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