在iOS中创建SSL套接字连接的正确方法是什么?
我用Java实现了一个SSL服务器:
现在我想创建一个客户端应用程序,它在一个线程中打开一个套接字连接并通过它进行通信。创建此类连接并与我的服务器证书进行通信的正确方法是什么?
答案 0 :(得分:2)
您可以使用NSInputStream
和NSOutputStream
根据this question的答案使用TLS进行连接。
修改强>: 我建议不要在该答案中使用SSL设置:
NSDictionary *settings = @{
(__bridge NSString *)kCFStreamPropertySocketSecurityLevel:(__bridge NSString *)kCFStreamSocketSecurityLevelNegotiatedSSL
};
这使用以下默认值:
kCFStreamSSLAllowsExpiredCertificates: NO
kCFStreamSSLAllowsAnyRoot: NO
kCFStreamSSLValidatesCertificateChain: YES
如果要将安全级别设置为使用特定版本的SSL或TLS,请查看CFSocketStream.h
中的值。
答案 1 :(得分:-1)
如果您使客户端应用程序不是服务器应用程序,则无需创建证书。 要在iOS中执行此操作,有多种方法,最简单的方法是使用AFNetworking库。 只需将url(https)放在其中一个方法中,就可以了。 我多次使用它。只花5分钟阅读文档。