iOS TLS会话缓存凭据

时间:2015-11-17 22:41:31

标签: ios authentication nsurlconnection

我有一个用例,我的iOS应用程序使用客户端证书对服务器执行身份验证。它使用NSURLConnection执行服务器请求,并在收到身份验证质询时提交客户端证书。

在一个特定的流程中,应用程序“退休”并再次向服务器注册,并在此过程中生成新的客户端证书。但是,当它尝试执行服务器请求时,将提交旧证书,并且应用程序不会收到质询。我相信这与知识库文章https://developer.apple.com/library/ios/qa/qa1727/_index.html有关,它解释了如何缓存凭据。

它表明解决方案是更改ip-address,dns-name或端口号以错过缓存。在我的情况下,我不能改变上述任何一个或附加“。”或“#”,还有其他任何我可以执行的黑客攻击吗?

1 个答案:

答案 0 :(得分:1)

对于您的使用案例,最佳解决方案是将代码转换为使用NSURLSession。这不仅是因为它可以解决您的问题,还因为在iOS 9中现已弃用NSURLConnection

NSURLSession将为每个会话执行单独的身份验证。