我运行一个Java服务器,接受Socket或SSLSocket连接(不同的端口)。在客户端,我在我的iPhone应用程序中使用GCDAsyncSocket连接到服务器。如果我使用不安全版本(没有SSL),它可以正常工作。
现在我尝试使用SSL连接。如何做到这一点?我完全不知道从哪里开始。我的问题是:
1)我需要什么样的证书?使用.bks证书的Android应用程序可以与相同的服务器很好地配合使用
2)如何将证书导入我的应用程序?我希望稍后通过AppStore进行分发。我必须将证书文件放在应用程序的某个目录中吗?
3)在代码中加载证书的位置在哪里?是否有类似于 - (void)loadCertificate { NSString *myCertificate = @"client.bks"; ... }的方法?
4)我必须设置哪些参数才能在GCDAsyncSocket中激活SSL,例如 BOOL useSSL = true; ...
5)假设问题1-4已经得到解答。现在怎么办?如何启动与服务器的连接?使用哪个构造函数以及哪些参数?
如果有人问“为什么使用SSLSocket而不是...”。因为服务器已经存在,并且使用Android应用程序非常好。
感谢您的帮助!