2012-03-07 96 views
3

是否應將安全cookie發送到具有無效證書的HTTPS服務器?我的意思是,我有一個由HTTPS服務器提供服務的應用程序,它發送一個cookie,並在登錄步驟後激活安全標誌。如果服務器有無效證書,我的服務器是否應該收回Cookie?這是規範化的(看起來不是),有人能指點我的規範的相關部分嗎?安全cookie和無效證書

+1

在使用Rails3和Chrome進行測試時,如果我有一個帶有自簽名證書的服務器(因此瀏覽器警告它不可信),那麼我沒有得到我的安全cookie。 – CodingWithSpike 2016-03-03 15:23:19

回答

4

是的,一個cookie with Secure flag set is only sent for TLS/SSL secured connections

如果cookie的安全僅標誌爲真,則Request-URI中的方案必須表示一個「安全」的協議(由用戶代理所定義的)。 [...]通常,如果協議使用傳輸層安全性(例如SSL或TLS),則用戶代理會認爲協議是安全的。例如,大多數用戶代理認爲「https」是表示安全協議的方案。

但是要建立TLS/SSL連接,它只關心證書是否可信。我無法證明證書是如何被信任的。即無論是自動還是手動信任。

3

證書是否有效實際上並不重要。如果在瀏覽網站時檢測到無效證書,大多數瀏覽器會告知用戶證書無效,並讓用戶確定他們是否要繼續操作。

對於cookie的「安全」部分,所做的一切都是告訴瀏覽器該cookie僅對https連接有效,不應通過常規http連接進行傳輸。

這意味着,是的,您的服務器應該從瀏覽器收到cookie,前提是被訪問的URL是https網址。即使服務器的證書無效。

0

還有在RFC 2965這一聲明是由RFC 6265廢止:

的用戶代理(可能與用戶交互)可確定哪些 的安全級別其認爲適當的「安全」的cookie。 安全屬性應該被認爲是從 服務器到用戶代理的安全建議,這表明它在會話的 中有利於保護cookie內容。 當它向服務器發送一個「安全」的 cookie時,用戶代理應該使用不低於 的安全級別,它與從服務器收到cookie 時所使用的安全級別相同。