iOSでは、SecTrustEvaluate()を使用して信頼を評価できることを知っています。信頼を作成するには、*。p12ファイルから信頼をインポートするか、証明書の配列と一連のポリシーを使用して信頼を作成します。
また、デフォルトで信頼されていないサーバーが信頼されていることを確認するために、SecTrustSetAnchorCertificates()を使用して、SecTrustEvaluate()がサーバーの証明書を検証するために使用するルートCAのリストを拡張できることも知っています。
では、これらのアンカー証明書が後続の起動で使用可能であることを確認するにはどうすればよいですか?証明書、キー、およびIDをアプリケーションのキーチェーンに保存できますが、証明書チェーンには保存できません。すべての証明書をチェーンに格納している場合でも、アンカー証明書として使用される証明書をどのように知ることができますか?
頭に浮かぶ解決策の1つは、キーチェーンからすべての証明書を取得し、それらをアンカー証明書として設定することです。もう1つの方法は、ディスク上のすべての証明書チェーンを* .p12ファイルとして実行し、アプリケーションの実行ごとに1回ロードすることです。