【问题标题】:Verify SSL/TLS version being used for XMPPFramework iOS验证用于 XMPPFramework iOS 的 SSL/TLS 版本
【发布时间】:2016-09-01 20:34:10
【问题描述】:

我一直在寻找这些信息,但我可能找错了地方。

我正在为 iOS 使用 XMPPFramework,我们有一个要求(遗憾的是)允许从我们的客户端到我们的 xmpp ejabberd 服务器的 TLS1.0 连接。

有什么方法可以验证我正在使用哪个版本的 TLS 进行身份验证?

我知道正在建立安全连接,因为调用了 xmppStreamDidSecure 委托。

我在 info.plist 中设置了必需的属性,以将 TLS 身份验证限制为 1.0。但是,我不知道这是否会影响 xmppframework 库?我会假设整个应用程序将受到那里设置的任何限制。

<plist version="1.0">
<dict>
<key>NSAllowsArbitraryLoads</key>
<false/>
<key>NSExceptionDomains</key>
<dict>
    <key>xxx.xxx.com</key>
    <dict>
        <key>NSIncludesSubdomains</key>
        <true/>
        <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
        <false/>
        <key>NSTemporaryExceptionMinimumTLSVersion</key>
        <string>TLSv1.0</string>
    </dict>
</dict>

【问题讨论】:

    标签: ios objective-c ssl xmpp xmppframework


    【解决方案1】:

    我建议您使用数据包嗅探器/代理工具,例如 CharlesWireShark,尤其是在发起请求的是第三方库时。但是,即使是您自己的代码启动了身份验证,我也很确定 Apple 的框架会处理实际的具体事务,因此您不会在代码级别获得太多可见性(您 或许能够通过桥接到 CFNetworking 找到更多细节,但这是万岁)。

    作为旁注,您可能应该改用NSExceptionMinimumTLSVersion; “临时”键适用于早期的 iO​​S 9 beta 版本:http://www.neglectedpotential.com/2015/06/working-with-apples-application-transport-security/。此外,由于它被记录为最低版本,因此无法保证框架库不会尝试使用大于的版本。

    【讨论】:

      猜你喜欢
      • 2013-07-26
      • 1970-01-01
      • 2020-04-05
      • 1970-01-01
      • 2018-11-15
      • 1970-01-01
      • 2015-05-19
      • 2016-04-03
      • 2016-11-07
      相关资源
      最近更新 更多