2014-02-19 50 views
0

我正在處理文件共享應用程序。它使用兩個iOS設備之間的TCP連接,我需要它們之間的安全連接。我正在使用GCDAsyncSocket庫進行連接。我使用這個庫來連接其他接受SSL連接的應用程序,所以我沒有客戶端問題。這是一個問題;我如何託管一個只接受帶有有效SSL證書的SSL連接的套接字?謝謝。託管與iOS設備的安全連接

回答

0

我終於解決了我的問題。在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};