Jak sprawić, by Safari automatycznie używał określonego certyfikatu klienta dla całej witryny?

27

Korzystanie z certyfikatów klienta w przeglądarce Safari stwarza szereg problemów:

  • Safari prosi o wybranie certyfikatu klienta na każdej stronie witryny (irytujące)
  • Safari może nawet poprosić Cię o wybranie certyfikatu na stronie, którą już odwiedziłeś, szczególnie jeśli musisz zaktualizować certyfikat klienta

Jak mogę rozwiązać te problemy?

apinstein
źródło

Odpowiedzi:

29

Safari certyfikaty klienckie i pokrewne preferencje są przechowywane w pęku kluczy Menedżer z rodzaju z certyfikatem .

Po wybraniu certyfikatu do korzystania ze strony internetowej, przechowuje inny wpis w pęku kluczy Manager z rodzaju z preferencjami tożsamości . Niestety domyślnie przechowuje go tylko dla dokładnie tej strony, na której byłeś. Zarówno nazwa, jak i lokalizacja są ustawione na adres URL strony.

Aby to naprawić, możesz po prostu edytować jeden z wpisów preferencji tożsamości i zmienić sekcję where na podstawowy adres URL, np. https://somesslsite.com/(Ukośnik końcowy jest ważny!). Aktualizuję również tę samą nazwę , aby zapobiec pomyłkom. Następnie możesz usunąć wszystkie inne wpisy preferencji tożsamości dla tej witryny.

Jeśli masz certyfikat, który wygasł i musisz dodać nowy, zalecamy usunięcie starych pozycji certyfikatu i wszystkich powiązanych pozycji preferencji tożsamości .

Aby znaleźć wpisy preferencji certyfikatu i tożsamości , otwórz Menedżera pęku kluczy, upewnij się, że wybrano Wszystkie elementy , i wyszukaj częściowy adres URL i / lub nazwę certyfikatu, stosownie do przypadku. Prawdopodobnie nie masz wielu, więc jeśli to nie zadziała, posortuj listę według rodzaju i powinieneś być w stanie je łatwo znaleźć.

UWAGA: sam odpowiadam na to pytanie, odkąd to rozgryzłem, ale chciałem zachować wiedzę dla siebie i innych.

apinstein
źródło
2
Niestety, Safari ciągle pyta o każdy pod-URL ...: - /
Tafkadasoh
usunięty komentarz. Odpowiedź DanJsa już to wyjaśnia.
Calon
1
Nie musisz aktualizować właściwości lokalizacji . Imię nie jest wystarczające.
andy
19

Częściowe ścieżki i symbole wieloznaczne są teraz obsługiwane w nowszych wersjach systemu OS X. Można więc użyć Menedżera pęku kluczy, aby utworzyć preferencje tożsamości dla całej witryny i / lub domeny.

Przykład częściowej ścieżki (zwróć uwagę, że wymagany jest ukośnik!):

https://server.mydomain.com/

Przykład znaku wieloznacznego:

*.mydomain.com

Pełne szczegóły tutaj (ze strony „Bezpieczeństwo człowieka”):

Przed wersją 10.5.4 preferencje tożsamości dla uwierzytelniania klienta SSL / TLS mogły być ustawione tylko dla poszczególnych adresów URL. Odwiedzany adres URL musiał dokładnie odpowiadać nazwie usługi, aby obowiązywała preferencja.

W wersji 10.5.4 stało się możliwe określenie preferencji tożsamości dla poszczególnych serwerów za pomocą nazwy usługi z częściowym adresem URL ścieżki, aby dopasować bardziej szczegółowe ścieżki na tym samym serwerze. Na przykład, jeśli istnieje preferencja tożsamości dla „ https://www.apache-ssl.org/ ”, będzie obowiązywać dla „ https://www.apache-ssl.org/cgi/cert-export ”, i tak dalej. Pamiętaj, że częściowe adresy URL ścieżek muszą kończyć się ukośnikiem.

Począwszy od wersji 10.6, można określić preferencje tożsamości dla poszczególnych domen, używając znaku wieloznacznego *jako najbardziej lewego komponentu nazwy usługi. W przeciwieństwie do symboli wieloznacznych SSL, symbol wieloznaczny preferencji tożsamości może pasować do więcej niż jednej subdomeny. Na przykład preferencje tożsamości dla nazwy *.army.milbędą zgodne server1.subdomain1.army.millub server2.subdomain2.army.mil. Podobnie preferencje dla *.milbędą pasować zarówno do, jak server.army.mili do server.navy.mil.

DanJ
źródło
Pracowałem dla mnie (z Safari 7.0.1 w systemie Mac OS X 10.9.1)
Tafkadasoh
3

Sam się z tym borykam i powyższa odpowiedź uświadomiła mi, co się dzieje.

Jeśli posiadasz certyfikat witryny i wygasł, powinieneś usunąć stary certyfikat. Następnie usuń również elementy typu preferencji tożsamości dla tej witryny. Te stare elementy wygasły w takim samym stopniu, jak certyfikat. Po ich usunięciu wszelkie nowe preferencje tożsamości będą przechowywane i używane poprawnie.

Więc:

  1. Usuń stary certyfikat
  2. Usuń elementy preferencji tożsamości starego certyfikatu
  3. Dodaj nowy certyfikat

Następnie możesz przejść do strony internetowej, wybrać nowy certyfikat z listy, zostanie on zapamiętany dla tego konkretnego adresu internetowego. Obecnie korzystamy z Safari 5.1.3, a ta wersja nie będzie używać żadnych symboli wieloznacznych do preferencji, będziesz musiał dodać preferencje dla każdej zmiany adresu internetowego ... Mam nadzieję, że to komuś pomoże, po prostu udostępniając ją, ponieważ ja nie znajdź jakąkolwiek pełną odpowiedź.

Chris
źródło
proszę odnieść się do odpowiedzi @apinstein, aby dowiedzieć się, jak to zrobić
dwery