iOS9 PayPal SDK – “发生SSL错误…”
我得到了与这个问题报告相同的错误iOS9出现错误“发生了ssl错误,并无法build立与服务器的安全连接”
我已经使用PayPal URL https://mobileclient.paypal.com检查SSL实验室,它告诉我,它只支持以下密码…
TLS_RSA_WITH_RC4_128_SHA TLS_RSA_WITH_RC4_128_MD5 TLS_RSA_WITH_AES_256_CBC_SHA TLS_RSA_WITH_AES_128_CBC_SHA TLS_RSA_WITH_3DES_EDE_CBC_SHA
这与Apple文档中列出的密码不完全匹配https://developer.apple.com/library/prerelease/ios/technotes/App-Transport-Security-Technote/
我想问的是,这个密码的问题并不完全一样吗? 就PayPal而言,我当然不想绕过ATS,是吗?
我进一步阅读了文档,这是我在提问之前应该做的事情! 但是,为了允许列出的密码,我需要closures该URL的NSExceptionRequireForwardSecrecy
,从文档…
NSExceptionRequiresForwardSecrecy
一个布尔值,用于覆盖域支持使用密码转发保密的要求。
YES
是默认值,并将密码限制为默认行为中显示的密码。
将该值设置为NO
会添加以下接受的密码列表:
- TLS_RSA_WITH_AES_256_GCM_SHA384
- TLS_RSA_WITH_AES_128_GCM_SHA256
- TLS_RSA_WITH_AES_256_CBC_SHA256
- TLS_RSA_WITH_AES_256_CBC_SHA
- TLS_RSA_WITH_AES_128_CBC_SHA256
- TLS_RSA_WITH_AES_128_CBC_SHA
Flexicoder写道,你必须禁用NSExceptionRequiresForwardSecrecy
。
将此添加到您的Info.plist
<key>NSAppTransportSecurity</key> <dict> <key>NSExceptionDomains</key> <dict> <key>yourDomain.com</key> <dict> <key>NSExceptionRequiresForwardSecrecy</key> <false/> </dict> </dict> </dict>