POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

HTTPS con nombre de máquina no localhost en ASP.NET Core y Node.js confía

## Cómo emitir certificados autofirmados con SANs para acceder a .NET por nombre de máquina

Publicado el 20/09/2025

Cuando ejecutas dotnet dev-certs https --trust .NET crea y confía en un certificado de desarrollador válido solo para localhost. Eso funciona para https://localhost:1234 pero no cubre https://my-machine:1234. Si necesitas acceder a tu servicio por nombre de máquina por ejemplo https://my-machine:7164 debes generar un certificado autofirmado que incluya todos los nombres que vas a usar como SANs machine name localhost y opcionalmente 127.0.0.1 y luego configurar Kestrel para usarlo. Además debes importar y confiar ese certificado en los navegadores y decirle a Node.js cómo confiarlo. A continuación pasos claros para Windows PowerShell.

1) Crear un certificado autofirmado PFX para el nombre de tu máquina

Ejemplo de comandos PowerShell simplificados para crear un certificado con SANs

$dns = @(my-machine,localhost,127.0.0.1)

$cert = New-SelfSignedCertificate -DnsName $dns -CertStoreLocation Cert:/CurrentUser/My

$pwd = ConvertTo-SecureString YOUR-PASSWORD -AsPlainText -Force

Export-PfxCertificate -Cert $cert -FilePath C:/Users/USER/FILENAME.pfx -Password $pwd

Consejo mantener localhost y 127.0.0.1 en la lista SAN para no romper herramientas existentes.

2) Opcional reemplazar el certificado dev predeterminado de dotnet

Si quieres que tu certificado sea el dev cert global puedes limpiar e importar

dotnet dev-certs https --clean --import C:/Users/USER/FILENAME.pfx -p YOUR-PASSWORD --trust

3) O bien indicar el PFX a Kestrel desde appsettings.json

Si prefieres no tocar el certificado global configura la app explícitamente en appsettings.json con la ruta absoluta al PFX y la contraseña. Ejemplo simplificado

{ Kestrel: { Certificates: { Default: { Path: C:/Users/USER/FILENAME.pfx, Password: YOUR-PASSWORD } } } }

4) Confiar el certificado para navegadores

Exporta la parte publica a .cer e impórtala en Trusted Root Certification Authorities para Current User

$cer = C:/Users/USER/FILENAME.cer

Export-Certificate -Cert $cert -FilePath $cer

Import-Certificate -FilePath $cer -CertStoreLocation Cert:/CurrentUser/Root

Recomendación no generar directamente en la tienda Trust. Crea el cert en CurrentUser/My luego exporta e importa. Mantener el flujo reduce errores y protege la clave privada.

5) Hacer que funcione con Node.js

Node 22 no usa por defecto el almacén de confianza de Windows y no acepta .cer vía NODE_EXTRA_CA_CERTS. Convierte .cer a .pem y establece NODE_EXTRA_CA_CERTS

certutil -encode C:/Users/USER/FILENAME.cer C:/Users/USER/FILENAME.pem

En la sesión actual de PowerShell

$env:NODE_EXTRA_CA_CERTS = C:/Users/USER/FILENAME.pem

O persistir para nuevas shells

setx NODE_EXTRA_CA_CERTS C:/Users/USER/FILENAME.pem

Luego ejecutar node y fetch hacia https://my-machine:7164 ya no debería quejarse por certificado autofirmado.

Node 23.8 y superiores permiten usar directamente el almacén del sistema

node --use-system-ca tu-script.js

6) Eliminar el certificado más tarde

Si aún tienes el objeto $cert

$thumb = $cert.Thumbprint

Remove-Item Cert:/CurrentUser/My/$thumb -DeleteKey -Force

Si no tienes $cert busca por subject o issuer en Cert:/CurrentUser/My y elimina por thumbprint.

Errores comunes y recomendaciones

Nombre no coincidente la host de la URL debe estar listada en los DNS names SANs si accedes a https://my-machine:7164 my-machine debe estar en el certificado. Node sigue fallando en Node 22 asegúrate de que NODE_EXTRA_CA_CERTS apunta a un archivo PEM no a un CER reinicia la shell o setéalo en la misma sesión. Confianza en navegador importa la parte publica en Trusted Root Certification Authorities de Current User. Rutas usa rutas absolutas Windows para la propiedad Path de Kestrel.

Resumen generar un PFX autofirmado con SANs para my-machine localhost y 127.0.0.1. Importarlo como dev cert global o referenciarlo desde Kestrel. Exportar el .cer e importarlo en Trusted Root para que los navegadores confíen. En Node usar NODE_EXTRA_CA_CERTS con un .pem para Node 22 o --use-system-ca para Node 23.8 en adelante. Esto permite desarrollar y probar endpoints HTTPS usando el nombre de máquina evitando las limitaciones del alcance localhost de dotnet dev-certs.

En Q2BSTUDIO somos una empresa de desarrollo de software y aplicaciones a medida especializada en soluciones a medida inteligencia artificial ciberseguridad y servicios cloud. Ofrecemos desarrollo de aplicaciones a medida que integran agentes IA y soluciones de IA para empresas además de servicios de ciberseguridad y pentesting. Si buscas crear una solución segura y escalable consulta nuestros servicios de desarrollo en desarrollo de aplicaciones a medida y descubre cómo aplicamos inteligencia artificial para empresas en soluciones de inteligencia artificial. También trabajamos con servicios cloud aws y azure servicios inteligencia de negocio power bi y automatización de procesos para ofrecer software a medida que cubre todo el ciclo de producto.

Palabras clave aplicaciones a medida software a medida inteligencia artificial ciberseguridad servicios cloud aws y azure servicios inteligencia de negocio ia para empresas agentes IA power bi.

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio