我对移动应用程序开发和HTTP非常陌生。请耐心等待......我需要你的建议!
我的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请求?
使用上述方法表示同意并仍然连接到不受信任的服务器时,我的数据是通过HTTP发送还是加密?
答案 0 :(得分:2)
人们一直在使用Apple应用程序这样做,无论好坏,没有app store拒绝。但是,更安全的方法是(1)使用官方签名的证书,或(2)让您的应用程序仅接受您的自签名证书。
答案 1 :(得分:1)