我一直在寻找这些信息,我可能会在所有错误的地方寻找。
我正在使用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>
答案 0 :(得分:0)
我建议您使用数据包嗅探器/代理工具,例如Charles或WireShark,特别是如果它是启动请求的第三方库。但是,即使是你自己的代码启动了身份验证,我也很确定Apple的框架处理实际的螺母和螺栓事务,所以你不会在代码级别获得太多的可见性(你< strong>可能能够通过桥接到CFNetworking找到更多细节,但这是一个冰雹。)
作为旁注,您应该使用NSExceptionMinimumTLSVersion
代替; “临时”密钥适用于早期的iOS 9测试版:http://www.neglectedpotential.com/2015/06/working-with-apples-application-transport-security/。此外,由于它被记录为最低版本,因此无法保证框架库不会尝试使用更高版本。