Frage

Ich weiß, wir SecTrustSetAnchorCertificates verwenden können () eine SecTrustRef gegeben. Aber mit CFStreams, können wir das Vertrauen Objekt erst nach der Hand zu schütteln bekommen. Eine Abhilfe scheint zu deaktivieren Zertifikatskette Überprüfung auf dem CFStream, um die kCFStreamSSLValidatesCertificateChain Eigenschaft verwenden und erhalten dann die Peer-Zertifikate kCFStreamPropertySSLPeerCertificates verwenden, erstellen Sie ein Vertrauen aus diesen Zertifikaten und wertet das Vertrauen selbst.

Aber es wäre viel sauberer sein, wenn wir nur CFStream sagen könnten, eine Reihe von certs als Anker zu verwenden. Bin ich die Hoffnung, zu viel für?

War es hilfreich?

Lösung

eskimo1 von Apple Devforums beantwortet diese so:

Als erstes deaktivieren automatisches Vertrauen Auswertung mit kCFStreamSSLValidatesCertificateChain.

Zweitens, wenn der Strom in Betrieb ist (ich tun dies in der Regel in meinem ‚annehmen kann Bytes‘ oder ‚hat Bytes verfügbar‘ Nachrichtenbehandlung), erhalten das SecTrust Objekt aus dem Stream mit kCFStreamPropertySSLPeerTrust und zu bewerten, dass das Vertrauen für sich. Wenn das Vertrauen Bewertung ausfällt, abzureißen den Strom.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top