Cuando AD Certificate Services se inicia, insiste en validar su propio certificado (el certificado de CA subordinado). Esto implica verificar que el certificado de CA no se haya revocado, al obtener la CRL referenciada en Puntos de distribución de CRL extensión encontrada en ese certificado. Si la CRL se ha movido y no se puede encontrar la CRL actualizada en estas ubicaciones, la validación fallará y el servicio se negará a funcionar.
En este punto, puede elegir entre cuatro estrategias para recuperar la situación:
-
Vuelva a colocar la CA raíz, o más precisamente la CRL emitida por la CA raíz, donde la CA subordinada espera que estén. De manera predeterminada, en un contexto de Active Directory, la CRL estará en una ubicación que depende del nombre de la máquina (inicie la herramienta "Sitios y servicios", active "mostrar el nodo de servicios", luego busque el nodo "CDP"). Estos son objetos de AD, que pueden ser copiados y movidos (un objeto de AD es "simplemente" una colección de atributos), por lo que puede hacer un script de ese proceso para hacerlo automáticamente.
-
Inserte el CRL de la CA raíz en el almacén de la máquina local de la CA subordinada, para que los Servicios de Certificate Server puedan verlos incluso si no los encuentra en el punto de distribución designado. Esto se puede hacer con la GUI ( mmc.exe
console) o programáticamente ( CertAddCRLContextToStore () ) (He hecho esto último, invocando la función Win32 desde un fragmento de C # compilado dinámicamente desde un script de PowerShell ...).
-
Renueve el certificado de la CA subordinada, reutilizando el mismo nombre y la clave, pero con un nuevo certificado con Puntos de distribución de CRL que apunten a la ubicación donde la CA raíz ahora publica su CRL.
-
Rechace la CA subordinada e instale una nueva, reutilizando el mismo nombre y clave. Esta es una variante de la estrategia anterior, pero más completa. Para evitar perder el control de todos los certificados emitidos anteriormente (estos siguen siendo válidos y aún desea poder revocarlos), tendría que volver a introducirlos en la nueva CA utilizando certutil
( certutil -importCert
para reimportar un certificado, certutil -revoke
para que la AC vuelva a tener conocimiento de una revocación pasada). Esta es una cirugía alta y desesperada; no hagas esto hasta que todas las demás estrategias hayan fallado.
En términos generales, ADCS se ha diseñado para que se integre bastante profundamente en las estructuras de Active Directory, y las ramificaciones completas son complejas y están mal documentadas. Las cosas funcionan "mágicamente" por defecto, y descubres por qué cuando haces un cambio aparentemente no relacionado y se rompen.