Client-SSL-Zertifikat schlägt in Safari fehl (und was ist SOSCCThisDeviceIsInCircle?)

Ich habe Schwierigkeiten bei der Verwendung eines X.509-Zertifikats zur Client-Authentifizierung von Safari (9.0.1, wie unter OS X 10.10.5).

Das Symptom ist, dass ich zu einer https://...Site gehe, die Clientzertifikate überprüft, aber Safari scheint einfach zu hängen, als würde es auf eine Antwort vom Server warten. In der Fehlerkonsole wird gemeldet Failed to load resource: cancelled(und auf einem der Server, mit denen ich das versucht habe, über die ich die Kontrolle habe, berichten die entsprechenden Protokolle, dass der Browser die Verbindung anscheinend abrupt beendet hat - es gibt dort keinen anderen Hinweis auf einen Protokollpfusch) .

Das Zertifikat ist gültig und hat eine gute CA-Signatur, was von verifiziert wurde openssl, und durch die Tatsache, dass es wie erwartet mit Firefox, Chrome und funktioniert curl. Beachten Sie, dass Chrome und OS X curlden Schlüsselbund verwenden und Firefox nicht, sodass es dort keinen gemeinsamen Faktor gibt. Außerdem curlist OS X im Gegensatz zu OpenSSL gegen SecureTransport gebaut, also verwendet es, glaube ich, dieselbe SSL-Bibliothek wie Safari (ich weiß in dieser Hinsicht nichts über Chrome).

Dies ist kein serverseitiges Problem, da andere, die dieselbe Version von Safari verwenden, mit Zertifikaten von derselben Zertifizierungsstelle auf dieselbe URL zugreifen können. Außerdem kann ich mich mit Chrome, das natürlich auch WebKit verwendet und dasselbe Zertifikat verwendet, über den Schlüsselbund direkt mit dieser Site verbinden.

Das, was einer Diagnose am nächsten kommt, ist, dass eine Meldung in der Konsole angezeigt wird, wenn ich dies tue

2015-11-13 18:43:53.329 Keychain Access[1373]:  SOSCCThisDeviceIsInCircle SOSCCThisDeviceIsInCircle!! 58

(die letzte Zahl erhöht sich jedes Mal).

Ich konnte überhaupt nichts zu dieser Saite finden, abgesehen von vorübergehenden Erwähnungen in einigen offensichtlich verwirrten Forenbeiträgen.

Ich habe erfolglos versucht, Identitätseinstellungen aus der Schlüsselbundverwaltung zu löschen, ähnliche (abgelaufene) Zertifikate aus dem Schlüsselbund zu löschen und versucht, das relevante Zertifikat zu exportieren, zu löschen und erneut zu importieren. alles ohne Wirkung.

Ich bin ratlos! Hat jemand irgendwelche Vorschläge? Da dies ein Safari-spezifisches Problem zu sein scheint, frage ich hier, bevor ich die Sicherheits-SE anprobiere.

SOSCCThisDeviceIsInCircle ist eine Diagnosemeldung zur Verarbeitung von Versionsänderungen und zur Erkennung von Zusammenführungen bei mit iCloud synchronisierten Dateien. Sie können sie ignorieren oder einen neuen Testbenutzer erstellen, damit Sie sicher sind, dass Sie den Systemschlüsselbund und die Systemsicherheit überprüfen und sich nicht mit Korruptions- oder Vertrauensproblemen auf Benutzerebene befassen.
Nur ein Nitpick: Chrome verwendet nicht WebKit, sondern Blink (was ein Fork davon ist).
@bmike Danke – das macht Sinn. Seltsam, dass es anscheinend mit Zugriffen auf eine nicht verwandte Site korrelierte, aber ... Das kann wahrscheinlich als signifikant ausgeschlossen werden. Nun ja.
@samh das hatte ich vergessen – danke. Und ich sehe, dass Blink die SSL-Schicht der Transaktion anscheinend nicht enthält: Diese sind in Chrome implementiert, nicht in Blink (wenn ich die Übersicht richtig lese). Das bedeutet, dass "es funktioniert in Chrome" wahrscheinlich doch nicht von Bedeutung ist. Es sieht immer mehr nach einem Safari-spezifischen Problem aus.
Welche URL schlägt auch fehl - es könnte eine geringe Sicherheit in der Serverkonfiguration oder ein Downgrade-MITM-Szenario sein ...

Antworten (2)

Ich verwende die Keychain Access-App gerne, um kryptografische Vertrauensprobleme zu beheben, und finde auch, dass das Erstellen einer sauberen VM von OS X oder zumindest eines neuen Benutzerkontos hilft, um sicherzustellen, dass ich weiß, dass ich von einer bekannten Vertrauenskette aus beginne.

  • Öffnen Sie die Schlüsselbundverwaltung
  • Wählen Sie im Menü „Schlüsselbundverwaltung“ die Option „Zertifikatsassistent“ und dann „Zertifikat auswerten“.

Von dort aus können Sie das SSL-Tool verwenden, um die Dinge zu bewerten und zu unterscheiden, was fehlschlägt oder erfolgreich ist. Das Wechseln zwischen diesem Tool und Safari lohnt sich normalerweise, um Fehler zu sortieren.

Danke für den Vorschlag (das sieht nach einem nützlichen Tool aus), aber ich bin mir ziemlich sicher openssl, dass das Zertifikat in Ordnung ist. Ich werde jedoch versuchen, das Zertifikat eines anderen Benutzers zu verwenden, und sehen, ob etwas kaputt geht.
Normalerweise ist das Problem, dass die Vertrauenskette von Safari verwendet wird. Mit dem Tool können Sie die Herkunft und die Kette deutlicher sehen. Außerdem müssen Sie möglicherweise das ausgehandelte Protokoll untersuchen, Safari verschärft sich und lehnt zerbrechliche Verschlüsselungsgrößen und Protokolle ab. @NormanGray

Hiermit eine Nicht-Antwort:

Es scheint , dass dies kein allgemeines Zertifikats- oder Vertrauensproblem ist, sondern ein Safari-bezogener Fehler, den ich trotz einiger Bemühungen nicht weiter eingrenzen konnte (ich verwende derzeit Safari 9.1.2 unter OS X 10.10 .5).

Das fragliche Zertifikat funktioniert nicht mit mehreren Websites (einschließlich der Website seines eigenen Ausstellers), aber dasselbe Zertifikat funktioniert konsistent mit diesen Websites, wenn es mit Chrome (das auch die Schlüsselbundverwaltung verwendet) oder Firefox (das dies nicht tut) verwendet wird.

Wenn Sie sich das also ansehen, weil Sie das gleiche Problem haben (und ich füge diese Antwort hinzu, weil Stackexchange mir gerade zu meiner Überraschung gesagt hat, dass diese Frage jetzt über 1000 Mal angesehen wurde), dann ist mein Rat:

  1. Verwenden Sie einen anderen Browser; Und
  2. Wenn Sie das weiter eingrenzen können, dann sehr gut gemacht (und danke), und denken Sie bitte daran, einen Fehlerbericht darüber einzureichen – die Welt steht dann in Ihrer Schuld.