【发布时间】:2015-11-17 22:41:31
【问题描述】:
我有一个用例,我的 iOS 应用程序使用客户端证书向服务器执行身份验证。它使用 NSURLConnection 执行服务器请求,并在收到身份验证质询时提交客户端证书。
在一个特定流程中,应用程序“退出”并再次向服务器注册,并在此过程中生成新的客户端证书。但是,当它尝试执行服务器请求时,会提交旧证书并且应用程序不会收到质询。我相信这与知识库文章 https://developer.apple.com/library/ios/qa/qa1727/_index.html 有关,该文章解释了如何缓存凭据。
建议解决方法是更改 ip-address、dns-name 或端口号以丢失缓存。就我而言,我无法更改上述任何内容或附加“。”或“#”,还有其他我可以执行的 hack 吗?
【问题讨论】:
-
最好的解决方案似乎是切换到NSURLSession。这不是 hack,但也没有那么难。
标签: ios authentication nsurlconnection