1

SecTrustRefが指定された場合、SecTrustSetAnchorCertificates()を使用できることはわかっています。しかし、CFStreamsを使用すると、握手後にのみ信頼オブジェクトを取得できます。回避策の1つは、kCFStreamSSLValidatesCertificateChainプロパティを使用してCFStreamで証明書チェーンの検証を無効にしてから、kCFStreamPropertySSLPeerCertificatesを使用してピア証明書を取得し、それらの証明書から信頼を作成して、自分で信頼を評価することです。

しかし、CFStreamに証明書の配列をアンカーとして使用するように指示できれば、はるかにクリーンになります。私はあまりにも多くを望んでいますか?

4

1 に答える 1

1

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

まず、kCFStreamSSLValidatesCertificateChainを使用して自動信頼評価を無効にします。

次に、ストリームが稼働し始めたら(通常、これは「バイトを受け入れることができる」または「バイトを使用できる」メッセージ処理で行います)、kCFStreamPropertySSLPeerTrustを使用してストリームからSecTrustオブジェクトを取得し、その信頼を自分で評価します。信頼性の評価が失敗した場合は、ストリームを破棄します。

于 2012-04-03T22:19:10.230 に答える