2

私は、モバイル アプリの開発と 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];
}
  1. 私の最初の質問はこれです: Apple はこのアプローチを承認しますか? 自己署名証明書を使用するサーバーと通信するときに、HTTPs 要求を処理する許可された合法的な方法ですか?

  2. 上記のアプローチを使用して同意を与え、信頼されていないサーバーに接続する場合、データは HTTPS 経由で送信され、暗号化されますか?

4

2 に答える 2

2

よくも悪くも、人々は Apple アプリで常にこれを行っており、アプリ ストアで拒否されることはありません。ただし、より安全な方法は、(1) 公式に署名された証明書を使用するか、(2) アプリが自己署名証明書のみを受け入れるようにすることです。

于 2012-06-02T19:16:12.540 に答える
1
  1. 拒否される可能性のあるアプローチに問題はありません。
  2. リクエストが POST タイプの場合、データは暗号化されます。ただし、セキュリティを強化するために、必要に応じてデータに暗号化を追加できます。
于 2012-06-02T19:16:02.323 に答える