0

Apple の Secure Transport API は関数 を定義しておりSSLSetCertificate、そのcertRefsパラメータは証明書の配列です。ドキュメントには次のように記載されています(強調を追加):

リーフ証明書とそれに対応する秘密鍵を識別するオブジェクトに配置certRefs[0]する必要があります。SecIdentityRefルート証明書の指定はオプションです。指定されていない場合は、ここで指定された証明書チェーンを検証するルート証明書が、トラスト アンカー証明書のシステム全体のセットに存在する必要があります。

ルート証明書が存在する必要があります」と書かれていますが、そのように見つかった信頼チェーンが実際に SSL ピアに提供されるかどうかは明らかではありません(ただし、その要件が存在する他の理由を考えるのは困難です)。

  1. 完全な証明書チェーン(自己署名ルート、またはシステム トラスト アンカーに戻る) がピアに提供されるようにするにはどうすればよいでしょうか?

  2. 特に、すべての構成証明書をこのパラメーターに含める必要がありcertRefsますか (または関係がありませんか)?

バックグラウンド

この質問は、 ServerFault に関する以前の投稿に続きます。RTFS を使用することで、slapdがホストの ID 証明書のみを使用して呼び出し 、セキュア トランスポートに証明書チェーンを提供しようとする段階がないことは明らかです。これが問題の原因である可能性があります。SSLSetCertificate

4

1 に答える 1

0

さて、私は苦労して次のことlibsecurity_sslを信じています:

私は結論する:

  1. 完全な証明書チェーン(自己署名ルート、またはシステム トラスト アンカーに戻る) がピアに提供されるようにするにはどうすればよいでしょうか?

    に渡しSSLSetCertificateます。

  2. 特に、すべての構成証明書をこのパラメーターに含める必要がありcertRefsますか (または関係がありませんか)?

    ドキュメントとコード コメントから、Apple の意図は将来的にこれを変更することであると思われますが、当分の間は…そうする必要があります。

于 2014-12-18T14:10:58.000 に答える