0
我正在處理文件共享應用程序。它使用兩個iOS設備之間的TCP連接,我需要它們之間的安全連接。我正在使用GCDAsyncSocket庫進行連接。我使用這個庫來連接其他接受SSL連接的應用程序,所以我沒有客戶端問題。這是一個問題;我如何託管一個只接受帶有有效SSL證書的SSL連接的套接字?謝謝。託管與iOS設備的安全連接
我正在處理文件共享應用程序。它使用兩個iOS設備之間的TCP連接,我需要它們之間的安全連接。我正在使用GCDAsyncSocket庫進行連接。我使用這個庫來連接其他接受SSL連接的應用程序,所以我沒有客戶端問題。這是一個問題;我如何託管一個只接受帶有有效SSL證書的SSL連接的套接字?謝謝。託管與iOS設備的安全連接
我終於解決了我的問題。在didAcceptNewSocket
委託方法我加載我的證書與這些設置。
NSDictionary *settings = @{(NSString *)kCFStreamPropertyShouldCloseNativeSocket: [NSNumber numberWithBool:YES],
(NSString *)kCFStreamSSLValidatesCertificateChain: [NSNumber numberWithBool:YES],
(NSString *)kCFStreamSSLAllowsExpiredCertificates: [NSNumber numberWithBool:NO],
(NSString *)kCFStreamSSLAllowsExpiredRoots: [NSNumber numberWithBool:NO],
(NSString *)kCFStreamSSLAllowsAnyRoot: [NSNumber numberWithBool:YES],
(NSString *)kCFStreamSSLCertificates: certificates,
(NSString *)kCFStreamSSLIsServer: [NSNumber numberWithBool:YES],
(NSString *)kCFStreamSSLLevel: (NSString *)kCFStreamSocketSecurityLevelTLSv1};