Wie kann ich festlegen, dass Safari automatisch ein bestimmtes Client-Zertifikat für eine gesamte Site verwendet?

27

Die Verwendung von Client-Zertifikaten mit Safari führt zu einer Reihe von Problemen:

  • Safari fragt nach einem Client-Zertifikat auf jeder Seite der Site (ärgerlich)
  • Safari fordert Sie möglicherweise sogar erneut auf, ein Zertifikat auf einer Seite auszuwählen, die Sie bereits besucht haben, insbesondere, wenn Sie Ihr Client-Zertifikat aktualisieren müssen

Wie kann ich diese Probleme beheben?

Apinstein
quelle

Antworten:

29

Safari - Client - Zertifikate und die damit verbundene Einstellungen werden in gespeicherten Schlüsselanhänger - Managern mit einer Art von Zertifikat .

Wenn Sie ein Zertifikat auswählen , mit einer Website zu verwenden, speichert es einen weiteren Eintrag im Schlüsselanhänger - Manager mit einer Art von Identität bevorzugt . Leider wird es standardmäßig nur für die Seite gespeichert, auf der Sie sich gerade befanden. Sowohl der Name als auch der Speicherort werden auf die URL der Seite festgelegt.

Um dies zu beheben, können Sie einfach einen der Identitätseinstellungen bearbeiten und den Abschnitt where in die Basis-URL ändern https://somesslsite.com/(der abschließende Schrägstrich ist wichtig!). Ich aktualisiere auch den Namen auf das gleiche, um Verwirrung zu vermeiden. Sie können dann alle anderen Identitätseinstellungen für diese Site löschen .

Wenn Sie ein abgelaufenes Zertifikat haben und ein neues hinzufügen müssen, würde ich empfehlen, dass Sie die alten Zertifikatseinträge und alle zugehörigen Identitätseinträge löschen .

Um Zertifikat und Identität Vorlieben Einträge, offene Schlüsselanhänger Manager sicher Alle Artikel ausgewählt, und die Suche nach der partiellen URL und / oder Zertifikatsnamen entsprechend. Sie haben wahrscheinlich nicht viele. Wenn dies nicht funktioniert, sortieren Sie die Liste nach Art und Sie sollten in der Lage sein, sie leicht zu finden.

HINWEIS: Ich beantworte dies selbst, da ich es herausgefunden habe, aber das Wissen für mich und andere beibehalten wollte.

Apinstein
quelle
2
Leider fragt Safari immer wieder nach jeder Unter-URL ...: - /
Tafkadasoh
Kommentar entfernt. DanJs Antwort erklärt das bereits.
Calon,
1
Nicht, dass Sie die Positionseigenschaft aktualisieren müssen . Name ist nicht ausreichend.
Andy
19

Teilpfade und Platzhalter werden jetzt in neueren Versionen von OS X unterstützt. Mit dem Schlüsselbund-Manager können Sie also eine Identitätsvorgabe für eine gesamte Website und / oder Domain erstellen.

Beispiel für einen Teilpfad (Beachten Sie, dass der abschließende Schrägstrich erforderlich ist!):

https://server.mydomain.com/

Platzhalter-Beispiel:

*.mydomain.com

Alle Details hier (von der Seite 'Man Security'):

Vor 10.5.4 konnten die Identitätseinstellungen für die SSL / TLS-Clientauthentifizierung nur auf URL-Basis festgelegt werden. Die besuchte URL musste genau mit dem Dienstnamen übereinstimmen, damit die Voreinstellung wirksam wurde.

In 10.5.4 wurde es möglich, Identitätspräferenzen auf Serverbasis anzugeben, indem ein Dienstname mit einer Teilpfad-URL verwendet wurde, um spezifischeren Pfaden auf demselben Server zu entsprechen. Wenn beispielsweise eine Identitätspräferenz für " https://www.apache-ssl.org/ " vorhanden ist, gilt diese für " https://www.apache-ssl.org/cgi/cert-export ". und so weiter. Beachten Sie, dass Teilpfad-URLs mit einem abschließenden Schrägstrich enden müssen.

Ab 10.6 ist es möglich, Identitätspräferenzen domänenweise anzugeben, indem das Platzhalterzeichen *als äußerste linke Komponente des Dienstnamens verwendet wird. Im Gegensatz zu SSL-Platzhaltern kann ein Platzhalter für Identitätspräferenzen mehreren Unterdomänen entsprechen. Beispielsweise stimmt eine Identitätsvorgabe für den Namen *.army.milmit server1.subdomain1.army.miloder überein server2.subdomain2.army.mil. Ebenso wird eine Präferenz für *.milbeide server.army.milund übereinstimmen server.navy.mil.

DanJ
quelle
Arbeitete für mich (mit Safari 7.0.1 unter Mac OS X 10.9.1)
Tafkadasoh
3

Ich habe selbst damit zu kämpfen und die obige Antwort ließ mich erkennen, was los war.

Wenn Sie ein Zertifikat für eine Website hatten und dieses abgelaufen ist, müssen Sie das alte Zertifikat entfernen. Entfernen Sie dann auch die Identitätspräferenztypelemente für diese Website. Diese alten Gegenstände sind genauso abgelaufen wie das Zertifikat. Nachdem Sie sie entfernt haben, werden alle neuen Identitätseinstellungen gespeichert und korrekt verwendet.

So:

  1. Altes Zertifikat entfernen
  2. Entfernen Sie die Identitätsvoreinstellungselemente des alten Zertifikats
  3. Neues Zertifikat hinzufügen

Anschließend können Sie zur Website navigieren und das neue Zertifikat aus der Liste auswählen. Dies wird für diese bestimmte Webadresse gespeichert. Momentan sind wir bei Safari 5.1.3 und diese Version verwendet keine Platzhalter für Einstellungen. Sie müssen die Einstellungen für jede Änderung der Webadresse hinzufügen. Ich hoffe, dies hilft jemandem, da ich es nicht getan habe finde eine vollständige Antwort.

Chris
quelle
Informationen zur korrekten Vorgehensweise finden Sie unter @apinstein answer
dwery