Reference-Request

用於生成公鑰證書的密碼系統

  • October 2, 2015

我們在哪裡可以找到用於生成公鑰證書的密碼系統?簽名算法和簽名雜湊算法下的密碼系統是什麼?我需要分析我的電腦和伺服器之間傳輸的數據包嗎?例如,密碼套件。

假設以下密碼套件從 ClientHello 傳輸到伺服器。

- TLS_RSA_WITH_AES_128_CBC_SHA256           (0x003c)   
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256     (0xc027)   
- TLS_ECDHE_ECDSA _WITH_AES_128_GCM_SHA256  (0xc02b)
- TLS_DHE_DSS_WITH_AES_128_CBC_SHA256       (0xc040)
- TLS_RSA_ WITH_RC4_128_MD5                 (0xc004)

我可以說用於保護我的電腦和伺服器之間通信的密碼系統是 RSA、ECDHE_RSA、ECDHE_ECDSA 和 DHE_DSS?

密碼套件僅定義要創建的 SSL 通道的屬性。證書 - 包括證書中指示的私鑰使用 - 應與密碼套件一致。

例如,如果您有一個以 TLS_RSA 開頭的密碼套件,那麼證書應該允許加密,並且公鑰/私鑰當然應該是 RSA。如果您有 TLS_DHE 或 TLS_ECDHE 密碼套件,則證書應允許使用任何受支持的身份驗證算法進行身份驗證。當然,證書通常支持身份驗證,因為這是 TLS 證書的主要案例。

證書的生成方式超出了 TLS 的範圍。基本上它並不關心,只要您可以在證書儲存中創建信任鏈到受信任的證書即可。為此,它確實需要能夠驗證簽名,因此需要支持用於簽署證書的算法。

證書只是一個文件,其中包含您的公鑰(RSA 或 DSA)以及一些資訊,例如如何允許使用公鑰(例如,僅用於驗證與 foo.yourdomain.com 的 TLS 連接)。此外,該文件已使用 RSA、DSA 或 ECDSA 簽名進行簽名。因此,您應該查找 RSA/DSA/ECDSA 簽名。

引用自:https://crypto.stackexchange.com/questions/20004