Как мы можем сказать CFStream использовать набор якорных сертификатов?

StackOverflow https://stackoverflow.com/questions/4668878

Вопрос

Я знаю, что мы можем использовать SecTrustSetAnchorCertificates () с учетом секундера. Но с CFStreams мы можем получить объект доверия только после того, как ручная встряха. Один обходной путь, по -видимому, заключается в том, чтобы отключить проверку цепочки сертификатов на CFStream, используя свойство KCFStreamSslValidatesCertificateChain, а затем получить сертификаты одноранговых однозначных с использованием KCFStreamPropertySslpeerCertificates, создать доверие из этих сертификатов и оценить доверие сами.

Но было бы намного чище, если бы мы могли бы просто сказать CFStream использовать массив CERT в качестве якоря. Я надеюсь на слишком много?

Это было полезно?

Решение

Eskimo1 из Apple Devorums ответил на это:

Во -первых, отключить автоматическую оценку доверия с использованием kcfstreamsslvalidatescertificatechain.

Во -вторых, после того, как поток запущен и работает (я обычно делаю это в моем «может принять байты» или «иметь доступные байты»), получите объект SecTrust из потока, используя KCFStreamPropertySslpeerTrust и оцените это доверие для себя. Если оценка доверия не удается, снести поток.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top