我正在开发一个OS X应用程序,它使用NSURLSession
和dataTaskWithRequest
通过HTTPS与服务器通信。服务器支持以下密码字符串:kEDH+AESGCM:HIGH:MEDIUM:TLSv1:!kEECDH:!RC4:!3DES:!SEED:!IDEA:!RC2:!DES:!MD5:!DSS:!aNULL:!eNULL:!PSK:!SRP:!aECDH:!ECDSA
。
在OS X 10.11上,我收到错误消息:CFNetwork SSLHandshake failed (-9824)
。
现在,在Secure Transport for TLS客户端中,DHE_RSA密码套件已默认禁用。这可能导致无法连接到仅支持DHE_RSA密码套件的TLS服务器。使用SSLSetEnabledCiphers()显式启用密码套件的应用程序不受影响。
所以发布说明谈论使用SSLSetEnabledCiphers()
,但是我无法创建SSLContext并且发现Apples Secure Transport Reference非常混乱(很多不赞成的东西)。
如何在我的应用中重新启用DHE_RSA密码套件? Swift或Objective-C。