2010-05-04 41 views
4

我發現所有這些NSUrlConnection的變通辦法都使用封閉的API來訪問不可信的SSL證書。其他選項是通過使用Safari瀏覽器/郵件應用程序首先安裝證書..適用於iPhone的SSL證書 - >哪個CA?

我想知道安裝了哪些根證書,所以我可以得到一個來自信任的CA,你應該的方式做到這一點..

任何人都有一個想法是什麼CA我需要什麼?

+0

我可以隨便挑CA的descri之一在這裏進行企業部署? http://support.apple.com/kb/HT3580 – StijnSpijker 2010-05-04 13:33:35

回答

3

這裏是安裝在iPhone上可用的CA前的列表

http://support.apple.com/kb/HT2185

你可以得到你的證書由這些部門簽署或你可以註冊自己的證書,並通過創建自己的CA OpenSSL的

0

可以在事實上接受自簽名的SSL證書使用公共API:

- (BOOL)connection:(NSURLConnection *)connection canAuthenticateAgainstProtectionSpace:(NSURLProtectionSpace *)protectionSpace { 
    return [protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust]; 
} 

- (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge { 
    if ([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust]) { 
     [challenge.sender useCredential:[NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust] forAuthenticationChallenge:challenge]; 
    } 

    [challenge.sender continueWithoutCredentialForAuthenticationChallenge:challenge]; 
}