【问题标题】:iOS TLS session caching credentialsiOS TLS 会话缓存凭据
【发布时间】: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


【解决方案1】:

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

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

【讨论】:

  • 感谢您的回复!
猜你喜欢
  • 2011-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-04
  • 2013-12-13
相关资源
最近更新 更多