1. 程式人生 > >https從入門到免費

https從入門到免費

https簡介

網景公司(Netscape)為了加強http協議的安全性,發明了一種叫做SSL(Secure Sockets Layer 安全套接層)的協議,它將SSL加入到了http協議中,於是便有了https協議的誕生。

SSL

Secure Socket Layer,其協議中主要包括如下三個子協議:

握手協議(Handshake protocol)

記錄協議(Record protocol)

警報協議(Alert protocol)

TLS

由於ssl協議是由網景公司發明的,其維護也應由網景公司來負責,但1998年網景公司被收購了,那時的ssl版本發展到了3.0版本(ssl 3.0),儘管網景被收購不存在網景這個公司了,但總不能讓這麼好的ssl協議也不存在吧,總得要繼續維護起來,於是乎網際網路標準化組織 ISOC 便在1999年的時候接替了ssl協議,併發布了ssl的升級版,叫做TLS(安全傳輸層協議Transport Layer Security),也就是SSL3.0 ->TLS1.0。所以現在很多地方都有一個這樣的叫法:SSL/TLS。

https互動過程原理

https客戶端和服務端建立連線的過程稍微複雜一點, 下面這個連結有比較詳細的描述:

其主要的建立連線過程可通過抓包獲得

通過過濾ssl協議,來檢視建立連線的過程

在知道https伺服器IP的情況下,通過如下的表示式進行檢視:ip.addr==xxx.xxx.xxx.xxx and ssl

按照wireshare的抓包的結果,可將建立連線的過程簡短分為如下步驟:

  1. 客戶端向服務端傳送Client Hello(傳送支援的加密演算法以及生成一個用於加密的隨機數)
  2. 服務端向客戶端傳送Server Hello(確定加密演算法以及傳送服務端的加密隨機數)
  3. 服務端向客戶端傳送Certificate(證書,證書中包含有所頒發的域名以及證書的頒發機構)
  4. 服務端向客戶端傳送Server Key Exchange,Server Hello Done()
  5. 客戶端向服務端傳送Client Key Exchange,Change Clipher Spec,Encrtypted Handshake Message
  6. 服務端向客戶端傳送New Session Ticket,Change Cipher Spec,Encrypted Handshake Message

免費https搭建

免費https證書與收費證書的區別?

待完善

trustasia, Let's Encrypt

Certbot

待完善

https抓包初探

待完善