HTTPS證書下發流程


我們首先需要申請證書,先去登記機構進行身份登記,我是誰,我是干嘛的,我想做什么,然后登記機構再通過CSR發給CA,CA中心通過后會生成一堆公鑰和私鑰,公鑰會在CA證書鏈中保存,公鑰和私鑰證書我們拿到后,會將其部署在WEB服務器上

1.當瀏覽器訪問我們的https站點時,他會去請求我們的證書
2.Nginx這樣的web服務器會將我們的公鑰證書發給瀏覽器
3.瀏覽器會去驗證我們的證書是否合法有效
4.CA機構會將過期的證書放置在CRL服務器,CRL服務的驗證效率是非常差的,所以CA有推出了OCSP響應程序,OCSP響應程序可以查詢指定的一個證書是否過去,所以瀏覽器可以直接查詢OSCP響應程序,但OSCP響應程序性能還不是很高
5.Nginx會有一個OCSP的開關,當我們開啟后,Nginx會主動上OCSP上查詢,這樣大量的客戶端直接從Nginx獲取證書是否有效

 

1、瀏覽器發起往服務器的443端口發起請求,請求攜帶了瀏覽器支持的加密算法和哈希算法。
2、服務器收到請求,選擇瀏覽器支持的加密算法和哈希算法。
3、服務器下將數字證書返回給瀏覽器,這里的數字證書可以是向某個可靠機構申請的,也可以是自制的。
4、瀏覽器進入數字證書認證環節,這一部分是瀏覽器內置的TLS完成的:
4.1 首先瀏覽器會從內置的證書列表中索引,找到服務器下發證書對應的機構,如果沒有找到,此時就會提示用戶該證書是不是由權威機構頒發,是不可信任的。如果查到了對應的機構,則取出該機構頒發的公鑰。
4.2 用機構的證書公鑰解密得到證書的內容和證書簽名,內容包括網站的網址、網站的公鑰、證書的有效期等。瀏覽器會先驗證證書簽名的合法性(驗證過程類似上面Bob和Susan的通信)。簽名通過后,瀏覽器驗證證書記錄的網址是否和當前網址是一致的,不一致會提示用戶。如果網址一致會檢查證書有效期,證書過期了也會提示用戶。這些都通過認證時,瀏覽器就可以安全使用證書中的網站公鑰了。
4.3 瀏覽器生成一個隨機數R,並使用網站公鑰對R進行加密。
5、瀏覽器將加密的R傳送給服務器。
6、服務器用自己的私鑰解密得到R。
7、服務器以R為密鑰使用了對稱加密算法加密網頁內容並傳輸給瀏覽器。
8、瀏覽器以R為密鑰使用之前約定好的解密算法獲取網頁內容。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM