HTTPS的通信過程如下:1、客戶端向服務(wù)器發(fā)起請求,請求中包含使用的協(xié)議版本號、生成的一個隨機數(shù)、以及客戶端支持的加密方法。
2、服務(wù)器端接收到請求后,確認(rèn)雙方使用的加密方法、并給出服務(wù)器的證書、以及一個服務(wù)器生成的隨機數(shù)。
3、客戶端確認(rèn)服務(wù)器證書有效后,生成一個新的隨機數(shù),并使用數(shù)字證書中的公鑰,加密這個隨機數(shù),然后發(fā)給服 務(wù)器。并且還會提供一個前面所有內(nèi)容的 hash 的值,用來供服務(wù)器檢驗。
4、服務(wù)器使用自己的私鑰,來解密客戶端發(fā)送過來的隨機數(shù)。并提供前面所有內(nèi)容的 hash 值來供客戶端檢驗。
5、客戶端和服務(wù)器端根據(jù)約定的加密方法使用前面的三個隨機數(shù),生成對話秘鑰,以后的對話過程都使用這個秘鑰來加密信息。