Gestionar certificados SSL en redes Windows puede ser a veces un poco complicado. Ya sea que esté implementando una CA personalizada, agregando certificados SSL específicos del sitio o simplemente intentando evitar las molestas advertencias del navegador, la administración central es la mejor opción. Usar la directiva de grupo (GPO) para distribuir certificados es un método común, aunque a veces engorroso. El objetivo es instalar o eliminar certificados raíz de confianza en todos los equipos del dominio automáticamente, evitando que todos tengan que hacer clic en «Continuar de todos modos» cada vez.
Aquí tienes una guía con consejos prácticos para garantizar que esos certificados se gestionen sin problemas. Espera algo de magia en la línea de comandos, ajustes en las GPO y bastantes victorias pírricas. Pero bueno, después de todo eso, tus equipos deberían confiar en tus certificados personalizados sin problemas.
Cómo exportar un certificado SSL/TLS a un archivo en Windows
Cosas que quizás quieras exportar: un certificado autofirmado, un certificado raíz de una CA o incluso un certificado de sitio que estés implementando internamente. La forma más sencilla es descargarlo desde el navegador o exportarlo directamente desde la tienda.
Exportar desde el navegador (crucemos los dedos para que sea solo un certificado autofirmado)
- Para Microsoft Edge, vaya al ícono No seguro en la barra de direcciones, luego haga clic en Mostrar certificado.
- Vaya a la pestaña Detalles y presione Exportar.
- Guárdalo en formato BASE64 con la extensión .crt o .pem.¡Fácil! Si tu navegador no te molesta ni te bloquea.
Pero a veces es necesario obtener el certificado mediante programación, sobre todo si se automatizan tareas. Aquí tienes un truco ingenioso de PowerShell con WebRequest:
$webRequest = [Net. WebRequest]::Create("https://your-internal-site.local") try { $webRequest. GetResponse() } catch {} $getcert = $webRequest. ServicePoint. Certificate $bytes = $getcert. Export([Security. Cryptography. X509Certificates. X509ContentType]::Cert) set-content -value $bytes -encoding byte -path "C:\certs\your-site-certificate.cer"
Este script, un poco raro, obtiene el certificado SSL de un sitio y lo guarda localmente como un archivo CER.¿Raro? Quizás. Pero funciona.
Exportación manual desde Windows Cert Store
- Correr
mmc.exe. - Vaya a Archivo > Agregar o quitar complemento.
- Agregar certificados para la cuenta de computadora (o Mi cuenta de usuario si es un certificado de usuario).
- Seleccione Computadora local cuando se le solicite y luego expanda el almacén de Autoridades de certificación raíz de confianza.
- Busque su certificado de destino, haga clic derecho y seleccione Todas las tareas > Exportar.
- Elija el binario X.509 (.CER) codificado en DER y especifique dónde guardarlo. Sin claves privadas, sin preocupaciones.
Instalar certificados en dispositivos Windows mediante la directiva de grupo
Este paso consiste en crear una GPO que envíe el certificado a todas las máquinas objetivo. Es fácil de configurar, pero puede ser problemático si no se hace correctamente. Prepárese para la magia de GPMC.
Crear y vincular un GPO para implementar el certificado
- Abra gpmc.msc y navegue hasta la OU que contiene esas computadoras (aquella en la que desea los certificados).
- Haga clic derecho, elija Crear un GPO en este dominio y Vincularlo aquí.
- Asígnele un nombre obvio, como «Implementar raíz de CA interna».
- Haga clic derecho y seleccione Editar.
Configurar la instalación automática de certificados
- En el Editor de administración de políticas de grupo, vaya a Configuración del equipo > Políticas > Configuración de Windows > Configuración de seguridad > Políticas de clave pública > Autoridades de certificación raíz de confianza.
- Haga clic derecho y seleccione Importar.
- Navegue hasta el archivo de certificado guardado (el CER que exportó) y selecciónelo.
- Configúrelo para que se instale en la tienda de autoridades de certificación raíz de confianza (no se requiere clave privada).
- Haga clic en Aceptar y repita si desea implementar varios certificados a la vez (es posible que desee verificar los campos como Emitido a, Vencimiento).
Una vez creada la GPO, ejecútela gpupdate /forceen un cliente para realizar pruebas. Use certlm.msc en una máquina para verificar que el certificado se haya alojado correctamente: en el almacén raíz de confianza. Además, compruebe si su navegador deja de mostrar la temida advertencia de «Certificado no confiable».
Ahora, para limpiar o reemplazar un certificado desactualizado, también puede eliminar o actualizar certificados usando GPO: simplemente busque el certificado con la huella digital, elimínelo o reemplácelo en la política y luego aplique el cambio.
Porque, claro, Windows tiene que complicar todo lo suficiente como para que termines haciéndolo dos veces. A veces, eliminar certificados manualmente o programar su eliminación mediante un script de inicio de sesión (con CertUtil o PowerShell) tiene sentido si te enfrentas a un certificado persistente.
Resumen
- Exporta certificados desde los navegadores o desde tu servidor.
- Cree un GPO y vincúlelo a la OU correcta.
- Importar certificados al almacén raíz de confianza a través de GPO.
- Forzar gpupdate en los clientes o esperar la actualización automática.
- Verifique el almacén de certificados y los navegadores para confirmar el éxito.
Resumen
Esto no es ciencia espacial, pero a veces es un poco molesto. Una vez que todo está configurado, vale la pena: se acabaron las advertencias y se redujeron las llamadas al soporte técnico. Solo hay que revisar un poco las GPO. Si eso no soluciona el problema, quizás puedas intentar eliminar o renovar manualmente los certificados caducados. O, a veces, un análisis profundo del almacén de certificados ayuda a descubrir problemas ocultos.
Ojalá esto le ahorre algunas horas a alguien. Obtener certificados confiables en dominios grandes no es perfecto, pero es factible.