Как заставить Safari автоматически использовать определенный сертификат клиента для всего сайта?

27

Использование клиентских сертификатов с Safari представляет ряд проблем:

  • Safari просит выбрать сертификат клиента на каждой странице сайта (раздражает)
  • Safari может даже попросить вас выбрать сертификат на странице, которую вы уже посетили, особенно если вам необходимо обновить сертификат клиента.

Как я могу исправить эти проблемы?

apinstein
источник

Ответы:

29

Сафари клиентских сертификатов и связанные с ними настройки хранятся в Keychain менеджере с видом на сертификат .

При выборе сертификата для использования с веб - сайта, он хранит еще одну запись в Keychain диспетчера с видом на предпочтения идентичности . К сожалению, по умолчанию он сохраняет его только для той страницы, на которой вы были. И имя, и местоположение указываются по URL-адресу страницы.

Чтобы это исправить, вы можете просто отредактировать одну из записей предпочтений идентификатора и изменить раздел where на базовый URL, например https://somesslsite.com/(конечный слеш важен!). Я также обновляю имя , чтобы предотвратить путаницу. Затем вы можете удалить все другие записи настроек личности для этого сайта.

Если у вас есть сертификат, срок действия которого истек, и вам нужно было добавить новый, я бы порекомендовал вам удалить старые записи сертификата и все связанные записи предпочтений идентификации .

Чтобы найти записи о предпочтениях сертификата и идентификатора , откройте диспетчер цепочки ключей, убедитесь, что выбраны все элементы , и выполните поиск частичного URL-адреса и / или имени сертификата в зависимости от ситуации. Вероятно, у вас их немного, поэтому, если это не сработает, просто отсортируйте список по видам, и вы сможете легко их найти.

ПРИМЕЧАНИЕ: я отвечаю на это сам, так как я понял это, но хотел сохранить знания для себя и других.

apinstein
источник
2
К сожалению, Safari продолжает запрашивать каждый дополнительный URL-адрес ...: - /
Tafkadasoh
удаленный комментарий Ответ DanJs уже объясняет это.
Калон
1
Не то чтобы вы обновляли свойство location . Имя не достаточно.
Энди
19

Частичные пути и подстановочные знаки теперь поддерживаются в более поздних версиях OS X. Таким образом, вы можете использовать Keychain Manager для создания предпочтений идентификации для всего веб-сайта и / или домена.

Пример неполного пути (обратите внимание, что косая черта обязательна!):

https://server.mydomain.com/

Пример с подстановочными знаками:

*.mydomain.com

Полная информация здесь (со страницы «man security»):

До 10.5.4 предпочтения идентификации для аутентификации клиента SSL / TLS могли быть установлены только для каждого URL-адреса. Просматриваемый URL-адрес должен точно соответствовать имени службы, чтобы предпочтение вступило в силу.

В 10.5.4 стало возможным указывать предпочтения идентичности для каждого сервера, используя имя службы с частичным URL-адресом, чтобы соответствовать более конкретным путям на том же сервере. Например, если предпочтение идентификации для « https://www.apache-ssl.org/ » существует, оно будет действовать для « https://www.apache-ssl.org/cgi/cert-export », и так далее. Обратите внимание, что URL-адреса частичного пути должны заканчиваться символом косой черты.

Начиная с 10.6, можно задать предпочтения идентичности для каждого домена, используя подстановочный знак в *качестве самого левого компонента имени службы. В отличие от подстановочных знаков SSL, подстановочный знак предпочтения идентификации может соответствовать нескольким поддоменам. Например, предпочтение идентичности имени *.army.milбудет соответствовать server1.subdomain1.army.milили server2.subdomain2.army.mil. Кроме того, предпочтение *.milбудет соответствовать как server.army.milи server.navy.mil.

DanJ
источник
Работал для меня (работает Safari 7.0.1 на Mac OS X 10.9.1)
Tafkadasoh
3

Я боролся с этим сам, и приведенный выше ответ заставил меня понять, что происходит.

Если у вас есть сертификат для веб-сайта и срок его действия истек, вам следует удалить старый сертификат. Затем также удалите элементы типа настроек идентификации для этого веб-сайта. Срок действия этих старых предметов такой же, как и у сертификата. После того, как вы удалите их, все новые идентификационные предпочтения будут сохранены и использованы правильно.

Так:

  1. Удалить старый сертификат
  2. Удалить старые настройки сертификата
  3. Добавить новый сертификат

Затем вы можете перейти на сайт, выбрать новый сертификат из списка, он будет запомнен для этого конкретного веб-адреса. В настоящее время мы находимся на Safari 5.1.3, и эта версия не будет использовать подстановочные знаки для настроек, вам придется добавлять настройки для каждого изменения в веб-адресе ... Надеюсь, это кому-нибудь поможет, просто выложив его, потому что я этого не делал найти полный ответ.

Крис
источник
пожалуйста, обратитесь к ответу @apinstein, чтобы узнать, как это сделать
dwery