【问题标题】:Temporarily trusting self-signed certificates with NSURLConnection使用 NSURLConnection 临时信任自签名证书
【发布时间】:2012-12-07 02:23:10
【问题描述】:

当用户尝试使用自签名或其他不受信任的 SSL 证书联系服务器时,我有一个应用程序会向用户显示警告。如果他们选择继续,我们使用 connection:didReceiveAuthenticationChallenge 通过为服务器信任创建凭据来继续 HTTPS 请求。这是在 iOS 上与不受信任的服务器建立连接的常用方式。

我想知道是否有一种方法可以仅为特定连接创建此服务器信任,或者是否可以在以后撤销信任。我们发现,只要应用程序正在运行,服务器信任就会持续存在。我们希望能够在稍后再次提示用户,以确保他们仍然想要继续。这可能吗?有没有办法让信任只“持续”一个连接,或者找到信任并以某种方式删除它,以便我们再次为同一台服务器执行该过程?

【问题讨论】:

    标签: ios ssl https nsurlconnection ssl-certificate


    【解决方案1】:

    你不是在收到数据后释放连接吗?如果您要发布它,它应该每次都询问。确保您的连接的缓存属性未启用

    【讨论】:

    • 是的,我正在释放连接,并尝试将请求的缓存策略设置为不缓存任何内容。它仍然只为针对任何给定服务器的第一个请求调用 canAuthenticateAgainstProtectionSpace 和 didReceiveAuthenticationChallenge(假设我们允许请求继续进行)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-10
    • 2016-11-29
    • 2019-09-03
    相关资源
    最近更新 更多