Tengo una Autoridad de certificación y me gustaría configurar CRL . ¿Hay alguna manera de hacer esto en Keychain Access? (Estoy ejecutando OS X Server).
Tengo una Autoridad de certificación y me gustaría configurar CRL . ¿Hay alguna manera de hacer esto en Keychain Access? (Estoy ejecutando OS X Server).
Desafortunadamente, Keychain Access (Asistente de certificados) no tiene la capacidad de incluir un CRL Punto de distribución dentro de una sección de extensiones de certificado en los certificados que genera. Probablemente notará que su CA actual no tiene un CRL punto de distribución especificado (incluso si ha habilitado la firma CRL como un uso permitido de ese certificado durante la creación.)
¡Simplemente funciona!
Curiosamente, cuando se configura como maestro de Open Directory, OS X Server crea automáticamente una entidad de certificación autofirmada junto con una CA intermedia. ambos poseen un punto de distribución de CRL (con un formato similar a: enlace .) Estos certificados no son generados por la Autoridad de Certificación, sino por xscertd-helper
, que se bifurca por slapconfig
durante la configuración y configuración de Open Directory. Si su máquina ya estuviera ejecutando Open Directory, podría usar slapconfig
(principalmente xscertd-helper
) para:
/var/db/crls
automáticamente xscertd
) Desde la página de manual de slapconfig
, el comando que puede usar para recrear la configuración de CA utilizada por Open Directory ( nota: esto es parte del proceso de configuración de OD y no es necesario en la mayoría de las situaciones ) es:
-createrootcertauthority <Certificate Authority Name> <Certificate Authority Admin Email> <Certificate Authority Organization Name>
Create a CA on the OD master.
Desafortunadamente, slapconfig
verificará para confirmar que la máquina es un maestro OD antes de permitir que comience esta configuración. Aunque puede engañarlo para que realice algunos pasos configurando falsas banderas en los archivos plist ( /Library/Preferences/com.apple.openldap.plist
), el software finalmente crea LDAP consulta al nodo local y no encuentra el nodo respondiendo (o no encuentra la clase de objeto certificationAuthority
).
Hay una utilidad llamada xscertadmin
que puede ser utilizada (por humanos) para agregar elementos a la lista de distribución de CRL. Sin embargo, ese software depende (de nuevo) de que su computadora sea un maestro OD (y ejecute xscertd
). Por lo que puedo ver, Apple está almacenando varias piezas de datos en el Llavero del sistema (preferencias de identidad para los certificados OD CA y IA, la frase de contraseña utilizada para proteger cada clave privada, así como los certificados en sí), así como en el LDAP Base de datos (CRL, certificados CA). Parece que esta utilidad solo pretende leer y escribir datos de certificados y CRL en / desde el nodo LDAP local y el llavero del sistema.
La desventaja de la configuración de OD es que no parece proporcionar puntos de distribución de CRL dentro de ninguno de los certificados creados por la CA Intermedia (es decir, el certificado de máquina del servidor OD; un certificado de firma de código para su uso con Profile Manager), que no parece ser de mucha utilidad.
Poniéndolo a mano
Por supuesto, esto no descarta el uso de openssl
en la línea de comandos para administrar sus certificados. La gestión de certificados también se puede automatizar de alguna manera con los archivos de configuración de openssl . Sin embargo, todavía se le pedirá que realice un seguimiento de los certificados que haya emitido y de los que se hayan revocado.
Puede exportar los certificados y claves actuales de su CA fuera de Keychain Access, y (dado que se creó con la capacidad de uso de las CRL), puede usarlo para administrar su firma de certificado. Desafortunadamente, esto no le dará la posibilidad de utilizar la interfaz fácil de usar de Certificate Assistant.
Aunque también es posible imitar la configuración que Apple está usando (almacenar las claves de CA dentro del llavero), al firmar certificados con OpenSSL, las soluciones alternativas deberían realizarse para obtener las claves de manera que openssl
puede firmar sería un poco de trabajo y puede minimizar la devolución.
Lea otras preguntas en las etiquetas keychain certificate