Apple会批准使用自签名证书通过HTTPS进行通信的App吗?

时间:2012-06-02 19:09:13

标签: iphone https nsurlconnection self-signed

我对移动应用程序开发和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];
}
  1. 我的第一个问题是:Apple会批准这种方法吗?在与使用自签名证书的服务器通信时,它是否是允许和合法的方式处理HTTPs请求?

  2. 使用上述方法表示同意并仍然连接到不受信任的服务器时,我的数据是通过HTTP发送还是加密?

2 个答案:

答案 0 :(得分:2)

人们一直在使用Apple应用程序这样做,无论好坏,没有app store拒绝。但是,更安全的方法是(1)使用官方签名的证书,或(2)让您的应用程序仅接受您的自签名证书。

答案 1 :(得分:1)

  1. 方法没有问题可能导致拒绝。
  2. 如果请求是POST类型,则数据将被加密。但为了提高安全性,您可以根据需要为数据添加更多加密。