HTTPS的實現原理

圖片來源:HTTPS 詳解一:附帶最精美詳盡的 HTTPS 原理圖 - 個人文章 - SegmentFault 思否

加密流程按圖中的序號分為:

  1. 客戶端請求 HTTPS 網址,然后連接到 server 的 443 端口 (HTTPS 默認端口,類似于 HTTP 的80端口)。

  2. 采用 HTTPS 協議的服務器必須要有一套數字 CA (Certification Authority)證書。頒發證書的同時會產生一個私鑰和公鑰。私鑰由服務端自己保存,不可泄漏。公鑰則是附帶在證書的信息中,可以公開的。證書本身也附帶一個證書電子簽名,這個簽名用來驗證證書的完整性和真實性,可以防止證書被篡改。

  3. 服務器響應客戶端請求,將證書傳遞給客戶端,證書包含公鑰和大量其他信息,比如證書頒發機構信息,公司信息和證書有效期等。

  4. 客戶端解析證書并對其進行驗證。如果證書不是可信機構頒布,或者證書中的域名與實際域名不一致,或者證書已經過期,就會向訪問者顯示一個警告,由其選擇是否還要繼續通信。

    如果證書沒有問題,客戶端就會從服務器證書中取出服務器的公鑰A。然后客戶端還會生成一個隨機碼 KEY,并使用公鑰A將其加密。

  5. 客戶端把加密后的隨機碼 KEY 發送給服務器,作為后面對稱加密的密鑰。

  6. 服務器在收到隨機碼 KEY 之后會使用私鑰B將其解密。經過以上這些步驟,客戶端和服務器終于建立了安全連接,完美解決了對稱加密的密鑰泄露問題,接下來就可以用對稱加密愉快地進行通信了。

  7. 服務器使用密鑰 (隨機碼 KEY)對數據進行對稱加密并發送給客戶端,客戶端使用相同的密鑰 (隨機碼 KEY)解密數據。

  8. 雙方使用對稱加密愉快地傳輸所有數據。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/719364.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/719364.shtml
英文地址,請注明出處:http://en.pswp.cn/news/719364.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Windows批處理:bat文件學習

目錄 第一章、快速了解Windows批處理1.1)Windows批處理相關概念介紹1.1.1)批處理的起源1.1.2)bat文件介紹 1.2)Demo1.2.1)創建文件添加命令1.2.2)bat腳本中的命令解釋 第二章、實例2.1)點擊bat文…

navicat安裝11.3

一、安裝navicat 1、下載navicat 2、解壓壓縮包 3、點擊exe文件 4、輸入密鑰: NAVH-WK6A-DMVK-DKW3 5、點擊打開: 輸入連接參數: 6、查看連接好倉庫 7、 在使用navicat來編寫sql語句 8、編寫語句 連接不上問題,檢查問題&#…

[出錯]-RuntimeError: “slow_conv_transpose2d_out_cpu“ not implemented for ‘Byte‘

一開始我一直一維是torch版本的問題 輸入是用cv2讀出來的,數據類型dtype是默認是unit8,輸入到模型中,除了要將他轉為tenso以外,還要.float將數據類型轉為浮點數。

【Vue3】深入理解Vue中的ref屬性

💗💗💗歡迎來到我的博客,你將找到有關如何使用技術解決問題的文章,也會找到某個技術的學習路線。無論你是何種職業,我都希望我的博客對你有所幫助。最后不要忘記訂閱我的博客以獲取最新文章,也歡…

Redis 之三:Redis 的發布訂閱(pub/sub)

概念介紹 Redis 發布訂閱 (pub/sub) 是一種消息通信模式,它允許客戶端之間進行異步的消息傳遞 Redis 客戶端可以訂閱任意數量的頻道。 模型中的角色 在該模型中,有三種角色: 發布者(Publisher):負責發送信…

嵌入式中7個底層數據結構分解

在編程的世界里,數據結構是構建信息框架的骨架。就像現實生活中的建筑需要精心設計的結構一樣,我們的數據也需要合適的結構來保證程序的高效和穩定。今天,我們就像探險家一樣,一起去探索七大數據結構的奧秘,并揭開它們…

光路科技:工業以太網交換機引領工業互聯網新篇章

隨著全球范圍內工業4.0的浪潮不斷涌動,工業互聯網作為其核心驅動力,正引領著工業生產向智能化、網絡化的嶄新階段邁進。在這一轉型的浪潮中,光路科技憑借其卓越的工業互聯設備與創新解決方案,正為工業互聯網領域的發展注入新的活力…

Linux環境基礎開發工具使用

目錄 1.Linux軟件包管理器yum 什么是軟件包 關于 lrzsz 查看軟件包 2.Linux開發工具 2.1.vim的基本概念 2.2vim的基本操作 2.3vim命令模式命令集 1.插入模式 2.從插入模式切換為命令模式 3.移動光標 4.刪除文字 5.復制 6.替換 7.撤銷上一次的操作 8.更改 2.4v…

藍橋杯 2020 第一輪省賽 A 組 F 題(B 組 G 題)解碼

藍橋杯 2020 第一輪省賽 A 組 F 題(B 組 G 題)解碼 題目描述 小明有一串很長的英文字母,可能包含大寫和小寫。 在這串字母中,有很多連續的是重復的。小明想了一個辦法將這串字母表達得更短:將連續的幾個相同字母寫成…

[動態規劃]---part1

前言 作者:小蝸牛向前沖 專欄:小蝸牛算法之路 專欄介紹:"蝸牛之道,攀登大廠高峰,讓我們攜手學習算法。在這個專欄中,將涵蓋動態規劃、貪心算法、回溯等高階技巧,不定期為你奉上基礎數據結構…

Java基礎 - 模擬醫院掛號系統

模擬醫院掛號系統功能 1. 科室管理:新增科室,刪除科室(如果有醫生在,則不能刪除該科室),修改科室 2. 醫生管理:錄入醫生信息以及科室信息,修改醫生信息(主要是修改個人信息和科室) 3. 坐診信息設置:可以設置醫生當天和未來6天的坐診情況,包括上午和下午的坐診時…

Linux設備模型(九) - bus/device/device_driver/class

一,設備驅動模型 1,概述 在前面寫的驅動中,我們發現編寫驅動有個固定的模式只有往里面套代碼就可以了,它們之間的大致流程可以總結如下: 實現入口函數xxx_init()和卸載函數xxx_exit() 申請設備號 register_chrdev_r…

Spring源碼:手寫SpringDI

我們是在實現了SpringIOC的基礎上,進行拓展,IOC實現源碼可以查看:手寫SpringIOC 文章目錄 一、分析二、實現1、構造注入1)分析2)版本1BeanReferenceBeanDefinitionGenericBeanDefinitionDefaultBeanFactory1、改造構造…

install Ubuntu again

參考鏈接:Windows 下安裝 Ubuntu 雙系統(更新) - duan22677 - 博客園 這里的總的空間是120G 它里面指出雙系統的時候,/boot 應該是主分區 參考鏈接:win10下安裝Ubuntu16.04雙系統_windows10安裝引導ubuntu-CSDN博客 這里面講到了&#xf…

ES入門六:Suggesters Api實踐

都是負擔在很多app上,當我們輸入某些內容時候,它會立即做一些補全操作,如果我想實現上述的需求,我們就可以使用ES提供的Suggesters Api。那Suggesters是如何做到的那?簡單來說,Suggesters會將輸入的文本拆分…

【網站項目】167固定資產管理系統

🙊作者簡介:擁有多年開發工作經驗,分享技術代碼幫助學生學習,獨立完成自己的項目或者畢業設計。 代碼可以私聊博主獲取。🌹贈送計算機畢業設計600個選題excel文件,幫助大學選題。贈送開題報告模板&#xff…

誰才是“內卷”之王?眾多洗地機品牌哪家清潔力最強?清潔最干凈?

在如今快節奏的生活中,家庭清潔工作愈發顯得繁瑣而耗時。添可洗地機憑借其高效的一體化清潔功能和智能化操作,為現代家庭生活帶來了極大的便利。面對眾多款品牌洗地機型號,消費者不禁會問:哪家洗地機清潔力最強?在性能…

解決tomcat雙擊startup.bat一閃而過的問題

這種問題可能是tomcat找不到你的jdk環境配置路徑 1、首先在tomcat的bin文件夾找到startup.bat 和catalina.bat兩個文件 2、startup.bat用記事本打開 在末尾添加pause 3、保存修改,雙擊startup.bat如果出現這種問題,就是找不到jdk路徑 4、用記事本打開ca…

2194. 負載平衡問題(網絡流,費用流)

活動 - AcWing G 公司有 n 個沿鐵路運輸線環形排列的倉庫,每個倉庫存儲的貨物數量不等。 如何用最少搬運量可以使 n 個倉庫的庫存數量相同。 搬運貨物時,只能在相鄰的倉庫之間搬運。 數據保證一定有解。 輸入格式 第 1 行中有 1 個正整數 n&#x…

MySQL - 聯表查詢從表即使有索引依然 ALL 的一個原因

問題描述 今天排查 MySQL 語句性能發現,主外鍵都添加索引了,為什么 explain 分析 type ALL? 原因分析 主表和從表的關聯字段的編碼方式不一樣,改成一樣的編碼方式即可 解決方案 # 修改某張表某字段編碼 ALTER TABLE t_xxx CHA…