Por ASP clásico / 23/05/2025 @ 14:09:59 / 1236 visitas
Tener un entorno de desarrollo seguro es fundamental, incluso cuando trabajamos con aplicaciones antiguas como las desarrolladas en ASP Clásico. Uno de los aspectos más importantes es configurar HTTPS utilizando certificados SSL, aunque sea un entorno local. Este artículo te mostrará paso a paso cómo instalar un certificado SSL autofirmado en IIS para un sitio web que corre sobre una IP local, utilizando Windows Server y ASP Clásico.
El uso de un certificado SSL en un entorno de desarrollo tiene beneficios reales:
Simula el entorno de producción.
Permite probar cookies seguras y cabeceras HTTPS.
Evita advertencias de navegadores cuando se hacen pruebas con AJAX y APIs.
Aunque el certificado autofirmado no sea válido públicamente, es suficiente para un entorno de pruebas.
Antes de generar un certificado, asegúrate de cumplir con lo siguiente:
Tienes acceso como administrador al servidor con Windows Server (2019 o superior).
Tienes habilitado IIS y un sitio corriendo en una IP local (por ejemplo: 10.1.1.100).
PowerShell está disponible y funcionando correctamente.
Primero, asegúrate de que estás ejecutando PowerShell como administrador. Luego prueba este comando solo, para ver si puedes leer los certificados en general:
Get-ChildItem Cert:\LocalMachine\My
Eso debería listar todos los certificados del almacén "Personal" del equipo. Si eso tampoco muestra nada, puede que estés usando una sesión sin permisos o no se haya generado ninguno.
Si obtienes valores, eso quiere decir que sí tienes certificados generados en ese almacén. Ahora, lo importante es identificar cuál de ellos es el que acabamos de crear para la IP 10.10.1.100
.
Vamos a simplificarlo. Ejecuta este comando para ver solo los Subjects:
Get-ChildItem Cert:\LocalMachine\My | Select-Object Subject
Eso va a mostrarte una lista de los nombres comunes (CN) de los certificados. Busca uno que diga algo como CN=10.1.1.100
.
Si no aparece nada, entonces el certificado no se generó, aunque no dio error. A veces pasa si PowerShell no está con todos los permisos necesarios, o si la IP no está bien procesada como SAN.
Vamos a forzar el proceso con un comando más limpio. Prueba este exactamente como está:
New-SelfSignedCertificate -Subject "CN=localhost" -CertStoreLocation "cert:\LocalMachine\My" -NotAfter (Get-Date).AddYears(5) -TextExtension @("2.5.29.17={text}ipaddress=10.1.1.100")
Este comando:
Usa localhost
como nombre común (eso no importa tanto).
Pone la IP 10.1.1.100
como SAN.
Lo guarda en el lugar correcto.
Después de correrlo, vuelve a hacer:
Get-ChildItem Cert:\LocalMachine\My | Select-Object Subject
Aviso: el certificado no se sobreescribe ni borra el que ya existe, porque cada certificado es único internamente (por su huella digital y clave privada), aunque tengan el mismo CN.
Así que no hay problema si ya tienes un CN=localhost
, puedes crear otro más con el mismo nombre.
Cuando termines de generarlo, solo asegúrate de seleccionar el nuevo en IIS por su fecha de creación o su huella digital, no por el CN solamente.
Ahora vamos con los siguientes pasos para dejarlo funcionando:
Abre certlm.msc
en el servidor (escribe eso en el menú inicio y presiona Enter).
Ve a:
Certificados (equipo local) > Personal > Certificados
Busca el que diga CN=localhost con la fecha de creación más reciente (o usa el "Huelladigital" si te diste cuenta cuál salió en PowerShell).
Haz clic derecho > Copiar.
Pégalo en:
Entidades de certificación raíz de confianza > Certificados
Eso lo hace confiable para IIS y para exportarlo.
Abre el Administrador de IIS.
Selecciona tu sitio web.
Clic derecho > "Editar Enlaces (Bindings)".
Agrega o edita un enlace de tipo https
, y elige el nuevo certificado (CN=localhost
).
Asegúrate de que el puerto 443 esté disponible y se esté utilizando.
Desde certlm.msc
, clic derecho sobre el certificado > Todas las tareas > Exportar.
Elige exportar sin clave privada.
Selecciona formato DER binario (.cer).
Copia el archivo .cer
a la PC cliente.
En la PC cliente:
Ejecuta certmgr.msc
.
Importa el .cer
en Entidades de certificación raíz de confianza
.
Una vez importado correctamente, Chrome debería abrir https://10.1.1.100
sin advertencias.
Si persisten errores, prueba limpiar caché o reiniciar el navegador.
Abre about:preferences
.
Ir a Privacidad y Seguridad > Certificados > Ver certificados.
Importa el .cer
en la pestaña Autoridades.
Marca "Confiar en esta CA para identificar sitios web".
Descubre más sobre cómo simplificar y optimizar tu trabajo empresarial en el Blog de CoreASP.
certificado SSL autofirmado IIS, ASP Clásico, HTTPS local, PowerShell, Windows Server, desarrollo seguro, SAN IP local, SSL autosigned
Descargo de Responsabilidad:
El contenido y los recursos que ofrecemos en CoreASP están destinados únicamente a proporcionar herramientas y ejemplos prácticos para el desarrollo en ASP Clásico. Esta información es de carácter general y no debe considerarse asesoramiento profesional o técnico específico para tu proyecto. Aunque hacemos todo lo posible por asegurar la calidad y precisión de los recursos compartidos, no garantizamos que sean completamente libres de errores o que se ajusten perfectamente a todas las situaciones. CoreASP no se responsabiliza por cualquier pérdida, daño o inconveniente derivado del uso directo o indirecto de los recursos o información proporcionada. Además, CoreASP no respalda ni asume responsabilidad por enlaces o contenido de terceros que puedan estar referenciados en nuestra plataforma. Todos los derechos de propiedad intelectual sobre el contenido y recursos publicados en CoreASP pertenecen a CoreASP o a sus respectivos propietarios, y su uso está sujeto a las condiciones de la licencia especificada para cada recurso. Nos reservamos el derecho de modificar este descargo de responsabilidad en cualquier momento sin previo aviso. Para más detalles, consulta el documento completo de términos y condiciones.
13/07/2025 @ 10:56:59
23/05/2025 @ 14:09:59
07/04/2025 @ 07:54:51
29/03/2025 @ 16:49:42
12/02/2025 @ 10:15:42
21/01/2025 @ 16:21:11