从Phonegap(SSL / TLS)错误向IIS发送请求

时间:2013-07-17 11:23:25

标签: ios objective-c cordova ssl-certificate

我在IIS上托管了asp.net网站(https)。我的Mac机上的phonegap应用程序(适用于iOS)位于同一本地网络中。 这个网站充当这个phonegap应用程序请求的处理程序,但我无法调试(即向本地网络中的机器托管网站发送请求)。我不认为这是外部URL或白名单问题,但它出现要成为SSL / TLS问题,由于此证书错误,无法继续。

如何解决此问题,请帮忙。 我不熟悉客观的C环境。 关于如何解决这个问题的任何想法。

非常感谢任何帮助。

此致 苏拉杰

1 个答案:

答案 0 :(得分:1)

您必须处理NSURLConnection委派,因为您的域名是本地的,您的应用程序不信任您的证书。此代码将帮助您接受任何证书。

- (BOOL)connection:(NSURLConnection *)conn canAuthenticateAgainstProtectionSpace:(NSURLProtectionSpace *)protectionSpace
        // A delegate method called by the NSURLConnection when something happens with the
        // connection security-wise.
        {
            NSLog(@"%@",protectionSpace.authenticationMethod);
            return YES;
        }   

        // Called if the HTTP request receives an authentication challenge.
-(void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge {
            if([challenge previousFailureCount] == 0) {
                NSURLCredential *newCredential;
                newCredential=[NSURLCredential credentialWithUser:self.username password:self.password persistence:NSURLCredentialPersistenceNone];
                [[challenge sender] useCredential:newCredential forAuthenticationChallenge:challenge];
            } else {
                [[challenge sender] cancelAuthenticationChallenge:challenge];
            }
        }


<小时/> 或使用此参考文献
How to use NSURLConnection to connect with SSL for an untrusted cert?