Gewusst wie: abrufen des ssl-server-Zertifikat in iOS?
Ich würde gerne in der Lage sein, um die ssl-Zertifikat (+Kette wenn möglich) anzeigen können der distinguished name und feststellen, ob es sich um ein EV-Zertifikat. (erkennen von EV-CERT Zertifikat über Politik (wikipedia)
Was ich gesehen habe, bekommt man nur mit dargestellt werden einige Zertifikat-details, wenn das Zertifikat selbst signiert ist.
Ist es möglich, mit niedrigeren Ebenen wie CFNetwork, um das Zertifikat abzurufen(s)?
Du musst angemeldet sein, um einen Kommentar abzugeben.
via macnetworkprog.lists.apple.com mailing-Liste
http://web.archiveorange.com/archive/v/x0fiWEI9emJFc36DY0UP und erwähnt ein paar Orte in den Entwickler-Foren
Dazu:
Umsetzung der
-connection:canAuthenticateAgainstProtectionSpace:
delegate callback.In Ihrer Umsetzung, wenn die Authentifizierungsmethode von der
Schutz Raum ist
NSURLAuthenticationMethodServerTrust
Sie habenzwei Möglichkeiten:
2a. Zurück
NO
, und lassen Sie die Standard-TLS-Algorithmus kick in.2b. Zurück
YES
, in diesem Fall Ihre-connection:didReceiveAuthenticationChallenge:
delegate callback wird aufgerufen.Wenn Sie wollen, schauen Sie sich die Zertifikate vor, die Sie machen, dass
die Entscheidung, die Sie anrufen können
-serverTrust
auf die Schutz-Raum-ObjektHolen Sie sich einen trust-Objekt, und verwenden Sie dann die SecTrust API zu bekommen
Zertifikat-Kette.
Wenn Sie Weg 2b, Ihre
-connection:didReceiveAuthenticationChallenge:
delegate callback wird aufgerufen. Sie haben zwei Möglichkeiten:3a. Dass die Verbindung durch den Aufruf
-cancelAuthenticationChallenge:
auf die Herausforderung der Absender.3b. Ermöglichen Sie die Verbindung durch Aufruf
-useCredential:forAuthenticationChallenge:
auf die Herausforderung an die sender. Um eine Berechtigung, rufen Sie-[NSURLCredential initWithTrust:]
. Ist es eigentlich auch egal, was Vertrauen-Objekt übergeben Sie hier; die, die aus der Schutz-Raum zu tun.Müssen Sie nicht tun, diese synchron. Sie können nur Riegel die
Herausforderung und Rückkehr aus Ihrem delegate callback, und beheben Sie dann die
Herausforderung an einem gewissen Punkt in der Zukunft.