2013-06-30 24 views
0

我正在使用HTTPS到表單登錄頁面。 當通過HTTPS +表單登錄NSURLConnection

- (void)connection:(NSURLConnection *)connection willSendRequestForAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge` 

攔截並提取通過

NSString *authenticationMethod = [[challenge protectionSpace] authenticationMethod]; 

使用的身份驗證方法,我得到以下

NSURLAuthenticationMethodServerTrust 

但預期的結果應該是

NSURLAuthenticationMethodHTMLForm 

這是由於使用HTTPS?

回答

0

簡短的回答:是的

NSURLAuthenticationMethodServerTrust認證方法的目的是,客戶端可以驗證並信任該服務器是實際的服務器時,它僞裝成。

NSURLAuthenticationMethodHTMLForm用於通過網絡表單對用戶進行身份驗證。服務器發送Web表單並請求用戶憑證。此認證不需要通過SSL/TLS發送。但是,那麼用戶的憑證將以明文形式發送,從安全角度來看這是一件壞事。

客戶端身份驗證也是TLS協議的一部分。在這種情況下,您可能會收到其方法爲NSURLAuthenticationMethodClientCertificate的挑戰。

請注意,您可能會收到多個身份驗證問題。