【问题标题】:Secure cookie and invalid certificate安全 cookie 和无效证书
【发布时间】:2012-03-25 06:04:37
【问题描述】:

是否应该将安全 cookie 发送到具有无效证书的 HTTPS 服务器?我的意思是,我有一个由 HTTPS 服务器提供服务的应用程序,它发送一个在登录步骤后激活了安全标志的 cookie。如果证书无效,我的服务器是否应该接收回 cookie?这是规范化的(似乎不是),有人可以指出规范的相关部分吗?

【问题讨论】:

  • 在使用 Rails3 和 Chrome 进行测试时,如果我有一个带有自签名证书的服务器(因此浏览器会警告它不受信任),那么我就不会得到我的安全 cookie。

标签: security http cookies https


【解决方案1】:

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

如果 cookie 的 secure-only-flag 为真,则 request-uri 的方案必须表示“安全”协议(由用户代理定义)。 [...] 通常,如果协议使用了传输层安全性,例如 SSL 或 TLS,用户代理会认为该协议是安全的。例如,大多数用户代理认为“https”是一种表示安全协议的方案。

但要建立 TLS/SSL 连接,只关心证书是否可信。证书如何被信任并不重要,我。 e.无论是自动信任还是手动信任。

【讨论】:

    【解决方案2】:

    证书是否有效实际上并不重要。如果在浏览网站时检测到无效证书,大多数浏览器会告诉用户证书无效,并让用户决定是否要继续。

    关于 cookie 的“安全”部分,所做的只是告诉浏览器 cookie 仅对 https 连接有效,不应通过常规 http 连接传输。

    这意味着是的,只要访问的 URL 是 https url,您的服务器应该会从浏览器接收到 cookie。即使服务器的证书无效。

    【讨论】:

      【解决方案3】:

      RFC 2965 中也有此声明,已被 RFC 6265 废弃:

      用户代理(可能与用户交互)可以确定什么 它认为适合“安全”cookie 的安全级别。 Secure 属性应被视为来自 服务器到用户代理,表明它在会话的 保护 cookie 内容的兴趣。 当它发送一个“安全” cookie 传回服务器,用户代理应该使用不少于 与收到 cookie 时使用的安全级别相同 从服务器

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-06-23
        • 2021-05-19
        • 1970-01-01
        • 2010-10-21
        • 2012-04-11
        • 2020-06-16
        • 2013-06-25
        相关资源
        最近更新 更多