Windows Server 2025 / Configurar HTTPS en IIS y comprobar el certificado desde el cliente
HTTPS en IIS necesita un certificado cuyo nombre coincida con el solicitado, su clave privada disponible en el servidor y un enlace HTTPS que utilice ese certificado. Compruebe además confianza del cliente, vigencia, condiciones de revocación y el certificado realmente presentado, especialmente después de renovarlo.
Comprobar nombre, clave, confianza y enlace por separado
HTTPS protege el tráfico HTTP mediante Transport Layer Security (TLS), el protocolo de seguridad del transporte. El servidor presenta un certificado que relaciona su identidad con una clave pública; el cliente valida el nombre, la vigencia y la cadena de confianza. La clave privada correspondiente permanece en el servidor y permite demostrar la posesión de esa identidad criptográfica. Subject Alternative Name (SAN) es la extensión que enumera los nombres admitidos: para esta práctica debe incluir web.lab.example.test.
| Elemento | Comprobación en el laboratorio |
|---|---|
| Nombre | web.lab.example.test en Subject Alternative Name (SAN). |
| Almacén | WEB1 → Equipo local → Personal. |
| Clave | Clave privada correspondiente asociada y utilizable por el servicio. |
| Confianza | CLIENT1 confía en la cadena prevista en el contexto utilizado. |
| Enlace | LabSite / HTTPS / 8443 / certificado identificado por huella. |
Abrir la IP no equivale a abrir el nombre: un certificado con SAN de tipo DNS para web.lab.example.test no acredita automáticamente 172.24.50.30. La norma de identidad de servicio TLS, RFC 9525 utiliza identificadores SAN; no dé por válida una coincidencia solo en Common Name. El nombre .test pertenece a esta práctica interna; un servicio real necesita nombres controlados por la organización y una autoridad certificadora (CA) adecuada. La guía HTTPS de IIS separa certificado y enlace; sus ejemplos históricos de SSL no son una recomendación de habilitar protocolos obsoletos.
Crear un certificado para la prueba aislada
Confirme primero LabSite y su nombre web.lab.example.test, que debe resolver a 172.24.50.30, y la página HTTP esperada. Use solo WEB1 y CLIENT1 aislados, sin publicar el servicio. Este certificado autofirmado es una prueba: el emisor y el titular corresponden al mismo certificado y los clientes no confían automáticamente en él. No sustituye emisión, validación o gestión de claves de producción. Registre enlaces, reglas y estado previo de ambos almacenes antes de cambiar nada.
Ejecute localmente en WEB1, en Windows PowerShell elevado, una línea cada vez. Si falla la creación, deténgase y no use un valor anterior que haya quedado en labCertificate. Registre la huella Thumbprint del objeto nuevo fuera de esa sesión. El mes de vigencia se elige para el laboratorio y AddMonths(1) representa un mes calendario, no una política de la CA ni necesariamente 30 días. New-SelfSignedCertificate documenta los nombres DNS en SAN y el almacén del equipo:
$labCertificate = New-SelfSignedCertificate -DnsName 'web.lab.example.test' -CertStoreLocation 'Cert:\LocalMachine\My' -FriendlyName 'LabSite HTTPS test' -NotAfter (Get-Date).AddMonths(1)
$labCertificate | Select-Object Subject,Thumbprint,NotAfter,HasPrivateKey
Abra certlm.msc → Personal → Certificados en WEB1 y localice exactamente la huella registrada. Examine SAN, uso para autenticación de servidor, emisor, fechas y clave privada asociada. Se espera HasPrivateKey = True, pero esto solo indica asociación con una clave; no demuestra que el servicio pueda utilizarla. La gestión de almacenes de certificados de Windows distingue equipo local y usuario actual. Si repite la práctica, revise antes los objetos existentes en lugar de acumular copias; el mismo nombre descriptivo no identifica un certificado de forma única.
Añadir el enlace HTTPS en el puerto 8443
- En IIS Manager → WEB1 → Certificados de servidor actualice la vista y localice el certificado nuevo. Relaciónelo con la huella y fechas registradas, no solo con el nombre descriptivo.
- Abra LabSite → Enlaces → Agregar y seleccione https, IP 172.24.50.30 y puerto 8443. Revise primero que ninguna combinación o servicio existente esté ocupando ese destino.
- Indique web.lab.example.test y marque Requerir indicación de nombre de servidor. No use el nombre de StatusSite por error.
- Seleccione LabSite HTTPS test, confirmando que corresponde a la huella registrada en WEB1. Si no aparece o falta la clave, revise el almacén y el certificado en lugar de elegir otro parecido.
- Revise la combinación completa, duplicados y estado del sitio. Conserve el enlace HTTP 8080 sin cambios durante esta prueba para poder distinguir ambos accesos.
- Tras confirmar perfil Domain en WEB1, cree solo si no existe Lab-IIS-HTTPS-8443: wf.msc → Reglas de entrada → Nueva regla → Puerto → TCP local 8443 → Permitir → solo Dominio. En Propiedades → Ámbito limite IP remotas a 172.24.50.0/24. Revise también otras reglas o directivas; no amplíe perfiles ni desactive el firewall si no coincide el esperado.
Server Name Indication (SNI), indicación de nombre de servidor, permite al cliente enviar el nombre solicitado durante la negociación TLS y ayuda a seleccionar el certificado al compartir IP y puerto. Revise los atributos de binding y SNI. Aquí 8443 separa la prueba de HTTP 8080; el puerto HTTPS habitual es 443. SNI no añade confianza ni cambia SAN. Si un cliente no ofrece el soporte requerido, no interprete su fallo como autorización para desactivar la validación.
Validar la confianza y el certificado real desde CLIENT1
Desde CLIENT1 abra https://web.lab.example.test:8443/. Antes de añadir confianza es esperable una advertencia para este certificado autofirmado, pero una advertencia también puede deberse a otro problema. No la omita para declarar éxito ni introduzca credenciales. Inspeccione el certificado presentado si el navegador lo permite sin continuar; compare huella, nombre y vigencia con el registro de WEB1. Si aparece otra huella o no puede identificar el certificado, deténgase y revise el enlace antes de importar confianza.
- En WEB1, certlm.msc → Personal → Certificados, seleccione por huella el certificado de esta prueba → Todas las tareas → Exportar. Elija No exportar la clave privada y un archivo público .cer, con nombre y ruta nuevos que no sobrescriban otro archivo.
- Transfiera ese .cer a CLIENT1 mediante una ruta de laboratorio de confianza. No cree ni distribuya un PFX con la clave privada: el cliente necesita el certificado público, no la clave del servidor.
- Abra el archivo público y compare su huella con el registro obtenido en WEB1 por un medio de confianza independiente de un archivo de origen desconocido. Confirme también nombre y vigencia. Si no coincide, no lo importe.
- En CLIENT1, con el usuario que hará la prueba, abra certmgr.msc → Entidades de certificación raíz de confianza → Certificados → Todas las tareas → Importar. Elija únicamente el .cer verificado y confirme Usuario actual y ese almacén. Anote huella y ámbito de la nueva confianza para retirarla al final. No lo importe en equipos de producción ni por política de dominio.
- Cierre y vuelva a abrir el navegador del mismo usuario y visite https://web.lab.example.test:8443/. Compruebe conexión sin advertencia, huella y contenido de la página, no solo la existencia de una pestaña abierta.
Añadir una raíz cambia qué se considera de confianza en ese contexto. Importe solo el certificado de prueba que creó y verificó, nunca uno desconocido para quitar un aviso. Si persiste el error, compruebe SAN, hora de cliente y servidor, vigencia, huella realmente presentada y políticas del navegador o de la organización. Importar en Usuario actual afecta a ese usuario: no prueba que otro usuario, un servicio o una política usen el mismo almacén. No distribuya esta confianza mediante directivas de dominio ni cambie el almacén global para hacer funcionar la prueba.
Test-NetConnection -ComputerName web.lab.example.test -Port 8443
TcpTestSucceeded: True solo demuestra que se estableció TCP en 8443; no valida la negociación TLS ni el nombre, la cadena o la página. Examine en el navegador el certificado real y su ruta de certificación, confirme la misma huella registrada y el contenido LabSite esperado. La ausencia de aviso junto con estas comprobaciones es distinta de haber continuado a través de una advertencia. Este certificado de prueba tampoco demuestra que la comprobación de revocación de una CA real funcione.
Comprobar enlaces durante renovación y limpieza
Crear o importar un certificado de reemplazo en el almacén no garantiza que IIS lo presente. Compruebe nueva clave utilizable, nombres, cadena, uso y vigencia; actualice el enlace del sitio previsto y confirme desde un cliente separado la nueva huella y la página. Antes de cambiar registre huella y enlace anteriores. Conserve el certificado antiguo hasta comprender dependencias y necesidad de reversión; volver a uno caducado o revocado no es una recuperación válida. No automatice la sustitución de todos los enlaces por coincidencia de nombre descriptivo.
- Asigne responsable, método de renovación y alertas que permitan detectar fallos de emisión o despliegue, no solo la llegada de la fecha de caducidad.
- Reserve tiempo antes del vencimiento para aprobación, instalación, actualización del enlace y validación desde cliente. Un aviso sin responsable de actuación no completa el proceso.
- Para certificados y políticas que requieren comprobar revocación, mantenga accesibles las ubicaciones pertinentes de listas de revocación o respuestas de estado. No invente esas rutas para el certificado autofirmado ni desactive comprobaciones globales para ocultar un fallo.
- Si automatiza renovación, supervise también la asociación del enlace y el certificado servido realmente. Emitir un objeto nuevo en el almacén no confirma que el tráfico ya lo utilice.
Para limpiar, registre que termina la prueba y retire solo el enlace HTTPS añadido de LabSite y la regla Lab-IIS-HTTPS-8443. Compruebe dependencias de otros enlaces o servicios antes de retirar el certificado de prueba de WEB1 → Equipo local → Personal, identificado por su huella. En CLIENT1 abra certmgr.msc y elimine solo la entrada añadida por esta práctica en Usuario actual → Entidades de certificación raíz de confianza, con esa misma huella. Verifique el ámbito si una entrada aparece también por herencia de otro almacén y no borre raíces ajenas o certificados de nombre parecido. Decida separadamente si conservar HTTP 8080 o diseñar una redirección HTTPS ya validada; añadir HTTPS no redirige ni elimina HTTP automáticamente.




