验证用于XMPPFramework iOS

时间:2016-05-06 17:11:00

标签: ios objective-c ssl xmpp xmppframework

我一直在寻找这些信息,我可能会在所有错误的地方寻找。

我正在使用XMPPFramework for iOS,我们有一个要求(遗憾地)允许从我们的客户端到我们的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>

1 个答案:

答案 0 :(得分:0)

我建议您使用数据包嗅探器/代理工具,例如CharlesWireShark,特别是如果它是启动请求的第三方库。但是,即使是你自己的代码启动了身份验证,我也很确定Apple的框架处理实际的螺母和螺栓事务,所以你不会在代码级别获得太多的可见性(你< strong>可能能够通过桥接到CFNetworking找到更多细节,但这是一个冰雹。)

作为旁注,您应该使用NSExceptionMinimumTLSVersion代替; “临时”密钥适用于早期的iOS 9测试版:http://www.neglectedpotential.com/2015/06/working-with-apples-application-transport-security/。此外,由于它被记录为最低版本,因此无法保证框架库不会尝试使用更高版本。