¿Cómo hago que Safari use automáticamente un certificado de cliente particular para un sitio completo?

27

El uso de certificados de cliente con Safari presenta una serie de problemas:

  • Safari pide seleccionar un certificado de cliente en cada página del sitio (molesto)
  • Safari podría incluso volver a pedirle que elija un certificado en una página que ya ha visitado, especialmente si tiene que actualizar su certificado de cliente

¿Cómo puedo solucionar estos problemas?

apinstein
fuente

Respuestas:

29

Los certificados de cliente de Safari y las preferencias relacionadas se almacenan en Keychain Manager con un tipo de certificado .

Cuando selecciona un certificado para usar con un sitio web, almacena otra entrada en Keychain Manager con un tipo de preferencia de identidad . Desafortunadamente, por defecto lo almacena solo para la página exacta en la que estaba. Tanto el nombre como la ubicación están configurados en la URL de la página.

Para solucionar esto, puede editar una de las entradas de preferencia de identidad y cambiar la sección where a la URL base, como https://somesslsite.com/(¡la barra diagonal es importante!). También actualizo el nombre a lo mismo para evitar confusiones. Luego puede eliminar todas las otras entradas de preferencia de identidad para ese sitio.

Si tiene un certificado que caducó y ha tenido que agregar uno nuevo, le recomendaría que elimine las entradas de certificados anteriores y todas las entradas de preferencia de identidad relacionadas .

Para buscar entradas de preferencia de identidad y certificado , abra Keychain Manager, asegúrese de que Todos los elementos esté seleccionado y busque la URL parcial y / o el nombre del certificado según corresponda. Probablemente no tenga muchos, así que si eso no funciona, simplemente ordene la lista por tipo y debería poder encontrarlos fácilmente.

NOTA: Estoy respondiendo esto yo mismo ya que lo descubrí pero quería persistir en el conocimiento para mí y para los demás.

apinstein
fuente
2
Desafortunadamente, Safari sigue preguntando por cada sub URL ...: - /
Tafkadasoh
comentario eliminado La respuesta de DanJ ya lo explica.
Calon
1
No es que tenga que actualizar la propiedad de ubicación . El nombre no es suficiente.
Andy
19

Las rutas parciales y los comodines ahora son compatibles con las versiones más recientes de OS X. Por lo tanto, puede usar Keychain Manager para crear una preferencia de identidad para todo un sitio web y / o dominio.

Ejemplo de ruta parcial (tenga en cuenta que se requiere la barra inclinada final):

https://server.mydomain.com/

Ejemplo de comodín:

*.mydomain.com

Detalles completos aquí (de la página 'seguridad del hombre'):

Antes de 10.5.4, las preferencias de identidad para la autenticación de cliente SSL / TLS solo se podían establecer por URL. La URL que se visitaba tenía que coincidir exactamente con el nombre del servicio para que la preferencia tuviera efecto.

En 10.5.4, fue posible especificar preferencias de identidad por servidor, utilizando un nombre de servicio con una URL de ruta parcial para que coincida con rutas más específicas en el mismo servidor. Por ejemplo, si existe una preferencia de identidad para " https://www.apache-ssl.org/ ", estará vigente para " https://www.apache-ssl.org/cgi/cert-export ", y así. Tenga en cuenta que las URL de ruta parcial deben terminar con un carácter de barra diagonal final.

A partir de 10.6, es posible especificar las preferencias de identidad por dominio, utilizando el carácter comodín *como el componente más a la izquierda del nombre del servicio. A diferencia de los comodines SSL, un comodín de preferencia de identidad puede coincidir con más de un subdominio. Por ejemplo, una preferencia de identidad para el nombre *.army.milcoincidirá server1.subdomain1.army.milo server2.subdomain2.army.mil. Del mismo modo, una preferencia por *.milcoincidirá con ambos server.army.mily server.navy.mil.

DanJ
fuente
Trabajó para mí (ejecutando Safari 7.0.1 en Mac OS X 10.9.1)
Tafkadasoh
3

He estado luchando con esto yo mismo y la respuesta anterior me hizo darme cuenta de lo que estaba pasando.

Si tenía un certificado para un sitio web y expiró, lo que debe hacer es eliminar el certificado anterior. Luego también elimine los elementos de tipo de preferencia de identidad para ese sitio web. Estos elementos antiguos caducan tanto como el certificado. Después de eliminarlos, cualquier nueva preferencia de identidad se almacenará y utilizará correctamente.

Entonces:

  1. Eliminar certificado antiguo
  2. Eliminar elementos de preferencia de identidad del certificado anterior
  3. Agregar nuevo certificado

Luego puede navegar al sitio web, seleccionar el nuevo certificado de la lista, esto se recordará para esa dirección web específica. Actualmente estamos en Safari 5.1.3 y esta versión no utilizará ningún comodín para las preferencias, tendrá que agregar la preferencia para cada cambio en la dirección web ... Espero que esto ayude a alguien, simplemente lo publiqué porque no lo hice Encuentra cualquier respuesta completa.

Chris
fuente
consulte la respuesta de @apinstein para conocer la forma correcta de hacerlo
dwery