SSL 根证书的相关概念
什么是可信任根證書(shū)庫(kù)
? ? ? 我們?cè)跒g覽一個(gè) HTTPS 網(wǎng)站的時(shí)候,服務(wù)器會(huì)發(fā)送證書(shū)鏈,但光有證書(shū)鏈,客戶(hù)端是不能完成證書(shū)校驗(yàn)的,必須在瀏覽器本地機(jī)器上有一張根證書(shū)才能完成簽名認(rèn)證,也就是說(shuō)客戶(hù)端必須信任根證書(shū)才能構(gòu)建信任基礎(chǔ)。各個(gè) CA(證書(shū)簽發(fā)機(jī)構(gòu)) 機(jī)構(gòu)為了開(kāi)展業(yè)務(wù),必須申請(qǐng)將自己的根證書(shū)嵌入到各個(gè)操作系統(tǒng)平臺(tái)中,如果申請(qǐng)(向微軟、蘋(píng)果或Linux發(fā)布廠家申請(qǐng))被拒絕,CA 機(jī)構(gòu)將無(wú)法開(kāi)展業(yè)務(wù),即如果操作系統(tǒng)廠家不允許某個(gè)CA機(jī)構(gòu)在自己的操作系統(tǒng)里打包安裝該CA的根證書(shū),則該CA簽發(fā)的證書(shū)是不被認(rèn)可的。
? ? ? 對(duì)于普通用戶(hù)和開(kāi)發(fā)者來(lái)說(shuō),一般情況下無(wú)需了解可信任根證書(shū)庫(kù),但是有些情況下,也有可能希望更新本地的可信任根證書(shū)庫(kù),比如:
(1)在開(kāi)發(fā)環(huán)境中應(yīng)該避免使用線(xiàn)上證書(shū),因?yàn)樽C書(shū)和私鑰一起保存,由于開(kāi)發(fā)環(huán)境比較混亂,容易泄露私鑰,從而帶來(lái)安全風(fēng)險(xiǎn)。
在這種情況下,可以生成一張自簽名證書(shū),由于瀏覽器不信任該證書(shū),訪(fǎng)問(wèn)網(wǎng)站的時(shí)候總會(huì)提示安全風(fēng)險(xiǎn),為了避免頻繁的提示,可以手動(dòng)將證書(shū)添加到瀏覽器的可信任根證書(shū)庫(kù)中。
(2)企業(yè)內(nèi)部構(gòu)建一個(gè)私有 CA,然后給自己的業(yè)務(wù)簽發(fā)證書(shū),這種情況很常見(jiàn),比如一些內(nèi)部管理系統(tǒng)完全可以使用自簽發(fā)的證書(shū),減少證書(shū)申請(qǐng)成本,為避免員工訪(fǎng)問(wèn)的時(shí)候提示安全風(fēng)險(xiǎn),可以將證書(shū)添加到瀏覽器的可信任根證書(shū)庫(kù)中。
Windows 根證書(shū)庫(kù)
? ? ? ?微軟的操作系統(tǒng)采用 CryptoAPI庫(kù), CryptoAPI是密碼學(xué)底層代碼庫(kù),它包含系統(tǒng)根證書(shū)庫(kù),IE、Edge、Windows 平臺(tái)的 Chrome 用的都是微軟的系統(tǒng)根證書(shū)庫(kù)。
? ? ? 微軟的系統(tǒng)根證書(shū)庫(kù)保存在注冊(cè)表中,由于 windows 電腦是一個(gè)多用戶(hù)操作系統(tǒng),且允許組策略管理,所以根證書(shū)庫(kù)存在于多個(gè)位置,比如:
- CERT_SYSTEM_STORE_CURRENT_USER,代表當(dāng)前登陸用戶(hù),對(duì)應(yīng)的證書(shū)存儲(chǔ)在 HKEY_CURRENT_USER\Software\Microsoft\SystemCertificates 目錄。
- CERT_SYSTEM_STORE_LOCAL_MACHINE,代表本機(jī),對(duì)應(yīng)的證書(shū)存儲(chǔ)在 HKEY_LOCAL_MACHINE\Software\Microsoft\SystemCertificates 目錄。
- CERT_SYSTEM_CURRENT_USER_GROUP_POLICY,代表當(dāng)前用戶(hù)組策略,對(duì)應(yīng)的證書(shū)存儲(chǔ)在 HKEY_CURRENT_USER\Software\Policies\Microsoft\SystemCertificates 目錄。
一般情況下,windows 系統(tǒng)的登陸用戶(hù)使用的根證書(shū)庫(kù)保存在 CERT_SYSTEM_STORE_CURRENT_USER,微軟提供了一個(gè) certmgr 工具管理根證書(shū)(實(shí)際上操作的是注冊(cè)表),在 cmd 命令提示符中輸入 certmgr 打開(kāi)證書(shū)管理工具,如下圖:
對(duì)于我們來(lái)說(shuō),最要關(guān)心是“受信任的根證書(shū)頒發(fā)機(jī)構(gòu)”,所有根證書(shū)都存儲(chǔ)在這個(gè)目錄下,可以通過(guò) certmgr 工具和 certmgr 命令行添加或刪除根證書(shū)。
Chrome 如何在 windows 系統(tǒng)中更新證書(shū)
參見(jiàn):Windows下用OpenSSL生成CA根證書(shū)及簽發(fā)server端證書(shū)_白袍小將的博客-CSDN博客
?
總結(jié)
以上是生活随笔為你收集整理的SSL 根证书的相关概念的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: OCR技术大揭秘:纸质文档数字化的新选择
- 下一篇: 7.Adapter-适配器模式