https證書機制

2021-10-09 12:06:32 字數 1123 閱讀 5329

在學習kubernetes的證書機制中,許多概念沒有明白。例如ca,證書,簽名,指紋等等。查詢資料後發現這個機制與https的證書機制是一致的。所以以https為例,講解一下證書認證的過程。這個過程依賴兩個關鍵演算法——非對稱加密與摘要演算法。

加密演算法分為對稱加密與非對稱加密。對稱加密中秘鑰只有乙個,資訊傳輸的雙方都有秘鑰。傳送端將明文通過秘鑰加密為密文,接收方收到密文後再用秘鑰解密為明文。而非對稱加密的秘鑰有兩個,公鑰和私鑰。用公鑰加密的密文只有用私鑰才能解密,反之,用私鑰加密的內容也只有用公鑰才能解密。而私鑰是不對外公開的,公鑰則是任何人都可以獲取的。

非對稱加密雖然複雜,卻可以解決秘鑰傳輸的問題。客戶端和伺服器臨時發起的會話是無法提前設定好秘鑰,那麼可以讓客戶端生成秘鑰,並採用服務端的公鑰加密發動給伺服器。伺服器用私鑰解密後就可以使用對稱加密技術與客戶端會話。

摘要演算法,例如經典的md5演算法,可以理解為乙個雜湊函式。這個函式的輸入是檔案內容,而輸出是乙個固定長度的編碼。特點在於一旦改動檔案,重新計算的編碼將發生變化。通常將這個編碼成為檔案的指紋,而生成指紋的摘要演算法稱為指紋演算法。在此基礎上如果使用a(個人或機構)的私鑰對指紋加密,就生成了a對這份檔案的簽名。因為只有用a的公鑰才能解密,所以可以認定這個加密是a完成的。同時指紋比對也可以確保檔案未經過修改。就像我們在文書上簽名以證明對文書的認可。數字世界的簽名也有同樣的認證能力。

客戶端向服務端發起https鏈結,服務端返回服務端證書。證書的主要內容有公鑰(public key)、issuer(證書的發布機構)、subject(證書持有者)、證書有效期、簽名演算法、指紋及指紋演算法。客戶端收到證書後需要做證書的驗證工作。首先獲取issuer的公鑰,將加密了的指紋解密,同時計算證書內容的指紋,比對兩者的內容,如果內容一致,說明服務端可信。為什麼?首先這個世界權威的發證機構只有幾家,是經過資質認證的。這些發證機構的公鑰是載入在作業系統中的。如果你在windows的命令列輸入certmgr.msc就可以看到證書管理軟體,能查到本機所儲存的可信的發證機構的公鑰。整個解密過程就是完成了一次簽名的認證,證明這個證書是權威的發證機構頒發的(指紋用機構的私鑰加密了),並且證書內容沒有經過修改(指紋相符)。那麼證書中持有者一定是權威機構認證的公司或者個人。

客戶端生成對稱加密演算法使用的秘鑰,用服務端的公鑰加密後傳送給服務端

服務端解密,之後使用對稱秘鑰通訊

蘋果證書機制問題

entitlements entitlements是當我們設定授權機制,例如推送 支付等,也即是xcode 的 capabilities下開啟對應的功能時,系統會自動為我們生成.entitlements檔案 certificatesigningrequest certificatesigningre...

https證書安裝部署 https證書怎麼安裝

http和https是我們上網的時候經常見到的網路協議,當我們進入乙個 的時候,的網域名稱有時候是http開頭的,有時候又是https開頭的,可能你們會好奇,這兩者究竟有什麼區別呢?https證書又是什麼呢?安裝https的證書究竟有沒有什麼作用呢?安裝https證書的步驟如何,是簡單還是複雜呢?關...

https證書驗證

目前是在 godaddy 申請的 cn test.com 收到檔案後會列印乙份送行政部法務組,存入保險櫃。檔案構成 nginx 上配置 https 需要兩個引數 新證書驗證 2013年10月13日我們收到了新的 gd bundle.crt 和 test.com.crt 兩個檔案,理論上應該是匹配舊的...