我对移动应用程序开发和 HTTPs 非常陌生。请多多包涵……我需要你的建议!
我的 iPhone 应用程序使用自签名证书通过 HTTPS 与服务器通信。
为了解决我的服务器不受信任的警告消息的情况,我使用了 NSURLConnection 委托方法和这种方法:
- (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];
}
我的第一个问题是:Apple 会批准这种方法吗?在与使用自签名证书的服务器通信时,这是一种处理 HTTPS 请求的允许且合法的方式吗?
当使用上述方法表示同意并仍连接到不受信任的服务器时,我的数据是否将通过 HTTPs 发送并且会被加密?