Belldandy
Un blog? Que es esto, 2004? Mi nombre es Andrea, y hace muchos años que trabajo en sistemas.
AWS Certified: Solution Architect - Associate
AWS Certified: Developer - Associate
Archivo
Logo

Configurar HTTPS para una API en .NET

Por — Publicado el 13 nov 2024, 06:31:29 —  Categorias: .NET

Cuantas veces nos paso que necesitamos correr algo bajo SSL para desarrollo local, y siempre es un dolor de... cabeza. Por suerte la tecnologia avanza, y ahora es "relativamente" facil hacerlo, al menos si es para Windows, .NET Core y estas usando Kestrel.

  • Primero, abrir un Powershell como administrador y correr este comando. Reemplazar my.domain.local por el dominio que querramos usar.
New-SelfSignedCertificate -DnsName "my.domain.local" -CertStoreLocation "Cert:\LocalMachine\My"

Esto va a crear un certificado en tu compu, instalado en el store LocalMachine\My

  • Abrir Manage Computer Certificates (no tengo ni idea como se llama en español, pero debe ser algo con Certificados 😁)
  • Exportar ese certificado haciendo click derecho -> Export
    • Exportar la clave privada
    • Exportarlo como PFX
    • Setear algun password

Guardar ese archivo en algun directorio (como C:\projects o algo asi), con un nombre que nos acordemos, como domain_local.pfx.

Trusted Root Certificate

Ahora tenemos que decirle que nuestra compu "confia" en ese certificado, y para eso lo vamos a instalar como un Trusted Root Certificate.

  • Hacer doble click en el archivo pfx
  • En el Certificate Import Wizard
    • Elegir Local Machine -> Next
    • Buscar el archivo .pfx con Browse -> Next
    • Ingresar el password, marcar que la key sea exportable -> Next
    • Hacer click en Browse para elegir el destino, elegir Trusted Root Certification Authorities, OK -> Next
    • Listo!

Kestrel configuration

Finalmente, cambiamos nuestra configuracion de Kestrel (el web server de ASP.NET Core), para decirle que vamos a usar un certificado:

Abrir appSettings.json y agregar lo siguiente:

"Kestrel": {
  "Endpoints": {
    "Https": {
      "Url": "https://my.domain.local:5001",
      "Certificate": {
        "Path": "C:\\path\\domain_local.pfx",
        "Password": "tu_password"
      }
    }
  }
}

Como ultimo paso, agregarmos my.domain.local al archivo hosts (si todavia no lo agregaste), corremos nuestra API, y listo, ya tenemos nuestra API bajo SSL 😊

Volver

Comentarios Recientes

  • asya

    10/13/2026

    How can configuring HTTPS for a .NET API improve data security, protect sensitive information, and ensure safer communication between clients and servers? Thank You, Regard asya

¡Comentario agregado con éxito!
Angel

Deja un comentario

(no se publica)