HTTPS
說白了攀细,HTTPS就是HTTP使用了SSL加密傳輸。
CA證書
說到HTTPS必然要涉及到CA證書腹备,那么CA證書又是什么呢?
CA就是數(shù)字證書斤蔓,是由CA機構(gòu)頒發(fā)的植酥。CA證書一般會包含以下的內(nèi)容:
- 證書的頒發(fā)機構(gòu),版本
- 證書的使用者
- 證書的有效時間
- 證書的公鑰
- 證書的數(shù)字簽名hash值和簽名hash算法
- ...
CA證書校驗
1弦牡,證書的私鑰加密得到數(shù)字簽名的hash值(注意的是私鑰并不在CA證書中)
2友驮,使用證書中的公鑰解密hash值,得到hash-a
3驾锰,使用證書內(nèi)的簽名算法生成hash-b
4卸留,比較hash-a與hash-b是否相等
SSL握手建立流程
生成對話密鑰之后,后面的傳輸內(nèi)容就是利用對話密鑰進行椭豫,一般使用對稱加密算法耻瑟,比如AES旨指。
簡單點說就是:
1, 客戶端A和服務(wù)端B建立SSL握手喳整,通過CA證書確認(rèn)身份
2谆构,一起生成三個隨機數(shù),通過三個隨機數(shù)生成對話密鑰
3框都,互相確認(rèn)密鑰低淡,握手結(jié)束
4,數(shù)據(jù)通信過程瞬项,使用對話密鑰加解密數(shù)據(jù)