CFStreamCreatePairWithSocketToHost
を使用してサーバーへの接続を作成しています。このサーバーは自己署名証明書を使用しており、検証する必要があります。 私はサーバー証明書を取得する方法を見つけることを試みてきましたが、私は紛失しています。取得できるメソッド/クラスが見つかりません。iOSでCFSocketを使用しているときに手動でTLS証明書を検証する方法は?
私は、このようなコードでそれを得ることができますどのように指摘して感謝するでしょう。
CFReadStreamRef readStream;
CFWriteStreamRef writeStream;
CFStreamCreatePairWithSocketToHost(kCFAllocatorDefault, (__bridge CFStringRef) address, (UInt32) port, &readStream, &writeStream);
NSInputStream *inputStream = (__bridge_transfer NSInputStream *) readStream;
NSOutputStream *outputStream = (__bridge_transfer NSOutputStream *) writeStream;
[inputStream setDelegate:self];
[outputStream setDelegate:self];
[inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[outputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
NSDictionary *settings = @{(NSString *) kCFStreamSSLValidatesCertificateChain: @NO};
CFReadStreamSetProperty((__bridge CFReadStreamRef) inputStream, kCFStreamPropertySSLSettings, (__bridge CFTypeRef) settings);
[inputStream open];
[outputStream open];