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>