3

iOSでは、SecTrustEvaluate()を使用して信頼を評価できることを知っています。信頼を作成するには、*。p12ファイルから信頼をインポートするか、証明書の配列と一連のポリシーを使用して信頼を作成します。

また、デフォルトで信頼されていないサーバーが信頼されていることを確認するために、SecTrustSetAnchorCertificates()を使用して、SecTrustEvaluate()がサーバーの証明書を検証するために使用するルートCAのリストを拡張できることも知っています。

では、これらのアンカー証明書が後続の起動で使用可能であることを確認するにはどうすればよいですか?証明書、キー、およびIDをアプリケーションのキーチェーンに保存できますが、証明書チェーンには保存できません。すべての証明書をチェーンに格納している場合でも、アンカー証明書として使用される証明書をどのように知ることができますか?

頭に浮かぶ解決策の1つは、キーチェーンからすべての証明書を取得し、それらをアンカー証明書として設定することです。もう1つの方法は、ディスク上のすべての証明書チェーンを* .p12ファイルとして実行し、アプリケーションの実行ごとに1回ロードすることです。

4

1 に答える 1

2

Apple Devforumsのeskimo1はこれに答えました:

まず、証明書をキーチェーンに保存する必要はありません。必要に応じて、それらを他の場所に保存できます(そして、SecCertificateCreateWithDataを使用してSecCertificateRefを作成します)。

第二に、あなたの質問は.p12ファイルについて話しますが、これが物事と何の関係があるのか​​わかりません。一般に、機密情報を配布するために.p12ファイルのみを使用し、証明書は機密ではありません。

最後に、証明書チェーン内の各証明書への永続的な参照を保存するだけで(または各証明書の実際のデータを保存することで)、証明書チェーンを保存できます。

于 2012-04-03T22:17:15.957 に答える