私は現在、教育目的でアプリを分解して、そのAPIを公開できるかどうかを確認しています。これまでのところ、私はうまくやっています。APIの場所を特定し、CharlesなどのSSLプロキシを使用することで、クライアントとサーバー間の接続も復号化できました。
しかし、私がこれをどのように行ったかを考えると、iOSクライアントがサーバー証明書をどのように検証できるのか疑問に思っています。問題のアプリのサーバー証明書は、RapidSSL機関によって署名されたワイルドカート証明書です。SSLプロキシを使用する場合、これをiPhoneにインポートしたCharles証明書と交換します(したがって、信頼できるようになりました)。
私の質問:HTTPS接続に使用される証明書が* .mydomain.comからのものであり、機関Xによって有効に署名されていることをアプリが確認できる方法はありますか?もしそうなら、リクエストが一致しない場合、リクエストに失敗することでアプリのセキュリティを大幅に向上させることができます。