1

ASyncSocket を使用してソケット接続でサーバーに正常に接続しました。現在、サーバーをSSLで接続するためにSSLハンドシェイクを実行しようとしています。続行する方法はありますか?

4

1 に答える 1

2

AsyncSocket の ConnectTest サンプルは、セキュリティ設定を実装する方法を示しています。

- (void)socket:(GCDAsyncSocket *)sock didConnectToHost:(NSString *)host port:(UInt16)port {
    NSMutableDictionary *settings = [NSMutableDictionary dictionaryWithCapacity:3];
     [settings setObject:@"www.paypal.com" forKey:(NSString *)kCFStreamSSLPeerName];
    [sock startTLS:settings];

// To connect to a test server, with a self-signed certificate, use settings similar to this:

//  // Allow expired certificates
    //  [settings setObject:[NSNumber numberWithBool:YES]
    //               forKey:(NSString *)kCFStreamSSLAllowsExpiredCertificates];
    //  
    //  // Allow self-signed certificates
    //  [settings setObject:[NSNumber numberWithBool:YES]
    //               forKey:(NSString *)kCFStreamSSLAllowsAnyRoot];
    //  
    //  // In fact, don't even validate the certificate chain
    //  [settings setObject:[NSNumber numberWithBool:NO]
    //               forKey:(NSString *)kCFStreamSSLValidatesCertificateChain];
    }
于 2013-01-04T16:02:30.147 に答える