2017-09-06 29 views
1

我正在創建一個基於answer from SO的安全連接的Node.js服務器。從答案NodeJS https是否執行流量的對稱加密

代碼,

var https = require('https'); 

據我所知,有兩個部分組成,以確保連接。

  1. 執行證書驗證和對稱密鑰交換的SSL握手。
  2. 使用對稱密鑰加密流量。

是否https只執行SSL握手?它是否負責解密請求並加密響應?它使用對稱密鑰算法嗎?它使用AES嗎?如果它不使用對稱密鑰加密,我該怎麼做?

流量是否流動加密?

P.S:我在引用的答案下留下了評論。希望從SO的答案中獲得問題是可以的。

回答

3

據我所知,有兩部分安全連接。

  1. 執行證書驗證和對稱密鑰交換的SSL握手。

證書驗證和對稱密鑰協商。

使用對稱密鑰加密流量。

正確。

https是否僅執行SSL握手?

HTTPS不會執行任何操作。 HTTPS只是通過TLS的HTTP。 TLS進行握手和加密。 HTTPS唯一的附加功能是主機名驗證。

它負責解密請求並加密響應嗎?

是的。

它使用對稱密鑰算法嗎?

是的。你已經說過你自己了。

它使用AES?

它通過對等體之間的協議使用大量密碼中的任何一個。

如果它不使用對稱密鑰加密,我該怎麼做?

它的確如此,而你卻沒有。

流量是否流動加密?

第四次,是的。

+0

如果TLS執行加密。該解決方案如何在不使用TLS包的情況下加密流量。我認爲https使用TLS庫。你能解釋一下那部分嗎?從代碼中,我沒有看到如何使用TLS。 – ProgramCpp

+1

是什麼讓你覺得它不使用TLS包?當然是的。 – EJP