Ssl

如果我獲得了為 ECDSA 簽名的證書,舊瀏覽器是否能夠使用 RSA?

  • April 1, 2014

我正在研究使用 ECDHE-ECDSA 並且有很多關於為什麼(https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/)和(http://blog .cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet),例如。

顯然瀏覽器支持不是很好,但 Chrome 30、Windows 8 上的 Internet Explorer 11、OS X 10.9 上的 Safari 7 和 Firefox 26 都支持 TLS 1.2。

我研究了一些 CA,只有少數 ECDSA 的簽名證書(Verisign/Symantec 有)。我的問題是:如果我獲得了為 ECDSA 簽名的證書並且在我的密碼鏈中我可以正確回退,那麼舊的瀏覽器是否能夠使用 RSA?

我感覺答案是否定的,因為如果你簽署了 RSA 證書,你就不能使用 ECDSA,但在我排除 ECDHE-ECDSA 之前我想確定一下。

保羅

看看這個關於資訊安全 SE 的 Q/A:

TLS 伺服器是否可能向同一站點的客戶端發送多個證書?

嚴格來說,伺服器可以向客戶端發送任意數量的證書,作為其Certificate消息的一部分。但是,正如標準所說

發件人的證書必須在列表中排在第一位。後面的每個證書必須直接證明它前面的證書。

因此,真正合規的伺服器不能向客戶端發送證書選擇,並且不能期望客戶端使用除了他們發送的第一個證書之外的任何其他證書。

對於簽名算法支持,第 7.4.1.4.1 節中指定了標準TLS 擴展,客戶端可以通過它在握手的早期(在 中,這是過程的第一條消息)告訴伺服器,它支持的雜湊函式和簽名算法。例如,這允許同時擁有 RSA 簽名證書和 ECDSA 簽名證書的伺服器發送一個或另一個,具體取決於客戶端支持的內容。這是 TLS 中的典型情況:客戶端建議,伺服器選擇。ClientHello

(實際上,對這個擴展的支持還沒有普及。但是,實際上,每個人都使用 RSA 並支持 RSA。)

引用自:https://serverfault.com/questions/585784