Compartir vía


Incorporación y administración de certificados TLS/SSL en Azure App Service

Nota:

A partir del 1 de junio de 2024, todas las aplicaciones de App Service recién creadas tendrán la opción de generar un nombre de host predeterminado único mediante la convención de nomenclatura <app-name>-<random-hash>.<region>.azurewebsites.net. Los nombres de aplicación existentes permanecerán sin cambios.

Ejemplo: myapp-ds27dh7271aah175.westus-01.azurewebsites.net

Para más información, consulte Nombre de host predeterminado único para el recurso App Service.

Puede agregar certificados de seguridad digital para usarlos en el código de la aplicación, o bien para ayudar a proteger nombres DNS personalizados en Azure App Service, que proporciona un servicio de hospedaje web con aplicación automática de revisiones muy escalable. Los llamados certificados de seguridad de la capa de transporte (TLS), conocidos anteriormente como certificados de capa de socket seguro (SSL), son certificados privados o públicos que ayudan a proteger las conexiones a Internet mediante el cifrado de los datos enviados entre el explorador del usuario, los sitios web que visite y el servidor del sitio web.

La tabla siguiente enumera las opciones que hay para agregar certificados en App Service:

Opción Descripción
Crear un certificado administrado de App Service gratuito Certificado privado que es gratuito y fácil de usar si solo necesita mejorar la seguridad del dominio personalizado en App Service.
Importación de un certificado de App Service Es un certificado privado administrado por Azure. Combina la simplicidad de la administración automatizada de certificados con la flexibilidad de las opciones de renovación y exportación.
Importación de un certificado de Key Vault Resulta útil si usa Azure Key Vault para administrar los certificados PKCS12. Consulte Requisitos de certificados privados.
Carga de un certificado privado Si ya tiene un certificado privado de un proveedor de terceros, puede cargarlo. Consulte Requisitos de certificados privados.
Carga de un certificado público Los certificados públicos no se usan para proteger los dominios personalizados, pero se pueden cargar en el código si los necesita para acceder a los recursos remotos.

Requisitos previos

Requisitos de certificados privados

El certificado administrado de App Service gratuito o el certificado de App Service ya cumplen los requisitos de App Service. Si opta por cargar o importar un certificado privado en App Service, este certificado debe cumplir los siguientes requisitos:

  • Se exporta como un archivo PFX protegido por contraseña, que está cifrado con Triple DES
  • Debe contener una clave privada de al menos 2048 bits de longitud.
  • Contiene todos los certificados intermedios y el certificado raíz de la cadena de certificados

Si desea ayudar a proteger un dominio personalizado en un enlace TLS, el certificado debe cumplir estos requisitos adicionales:

  • Contener un uso mejorado de clave para la autenticación de servidor (OID = 1.3.6.1.5.5.7.3.1)
  • Estar firmado por una entidad de certificación de confianza

Nota

Los certificados de criptografía de curva elíptica (ECC) pueden funcionar con App Service, pero están fuera del ámbito de este artículo. Si desea conocer los pasos exactos para crear certificados ECC, consulte a su entidad de certificación.

Nota:

Después de agregar un certificado privado a una aplicación, el certificado se almacena en una unidad de implementación enlazada al grupo de recursos, la región y la combinación del sistema operativo del plan de App Service, que se llama internamente un espacio web. De este modo, el certificado es accesible para otras aplicaciones del mismo grupo de recursos, región y combinación del sistema operativo. Los certificados privados cargados o importados en App Service se comparten con App Services en la misma unidad de implementación.

Puede agregar hasta 1000 certificados privados por espacio web.

Crear un certificado administrado gratuito

El certificado administrado de App Service gratuito es una solución inmediata para ayudar a proteger el nombre DNS personalizado en App Service. Sin intervención por parte del usuario, este certificado de servidor TLS/SSL lo administra App Service completamente y se renueva de forma automática cada seis meses, 45 días antes de la expiración, siempre y cuando no cambien los requisitos previos configurados. Todos los enlaces asociados se actualizarán con el certificado renovado. El usuario creará el certificado, lo enlazará a un dominio personalizado y dejará que App Service haga el resto.

Importante

Antes de crear un certificado administrado gratuito, compruebe que cumple los requisitos previos de la aplicación.

DigiCert emite los certificados gratuitos. En algunos dominios, debe permitir explícitamente DigiCert como emisor de certificados mediante la creación de un registro de dominio de CAA con el valor 0 issue digicert.com.

Azure administra completamente los certificados en nombre del usuario, por lo que cualquier dato relacionado con el certificado administrado, incluido el emisor raíz, se puede cambiar en cualquier momento. Estos cambios se producen al margen del usuario. Asegúrese de evitar dependencias estrictas y de "anclar" los certificados de práctica al certificado administrado o a cualquier elemento de la jerarquía de certificados. Si necesita el anclaje de certificados, agregue un certificado al dominio personalizado mediante cualquier otro método disponible en este artículo.

El certificado gratuito presenta las siguientes limitaciones:

  • No admite certificados comodín.
  • No admite el uso como certificado de cliente mediante la huella digital del certificado, cuya retirada está prevista.
  • No admite DNS privado.
  • No se puede exportar.
  • No es compatible con un servicio App Service Environment.
  • Solo admite caracteres alfanuméricos, guiones (-) y puntos (.).
  • Solo se admiten dominios personalizados de una longitud de hasta 64 caracteres.
  • Debe tener un registro D que apunte a la dirección IP de la aplicación web.
  • Debe estar en aplicaciones a las que se pueda acceder de manera pública.
  • No es compatible con los dominios raíz que se integran con Traffic Manager.
  • Debe cumplir todos los puntos anteriores para la correcta emisión y renovación de certificados.
  1. En Azure Portal, en el menú de la izquierda, seleccione App Services><nombre-de-aplicación>.

  2. En el menú de navegación de la aplicación, seleccione Certificados. En el panel Certificados administrados, seleccione Agregar certificado.

    Captura de pantalla del menú de la aplicación con las opciones “Certificados”, “Certificados administrados” y “Agregar certificado” seleccionadas.

  3. Seleccione el dominio personalizado para el certificado gratuito y, luego, seleccione Validar. Una vez que finalice la validación, seleccione Agregar. Solo puede crear un certificado administrado para cada dominio personalizado admitido.

    Una vez que la operación se haya completado, verá el certificado en la lista de Certificados administrados.

    Captura de pantalla del panel Certificados administrados con el nuevo certificado que aparece.

  4. Para proporcionar seguridad para un dominio personalizado mediante este certificado, aún necesita crear un enlace de certificado. Siga los pasos descritos en Protección de un nombre DNS personalizado con un enlace TLS/SSL en Azure App Service.

Importación de un certificado de App Service

Para importar un certificado de App Service, primero compre y configure un certificado de App Service y siga los pasos a continuación.

  1. En Azure Portal, en el menú de la izquierda, seleccione App Services><nombre-de-aplicación>.

  2. En el menú de navegación de la aplicación, seleccione Certificados>Aportación de sus propios certificados (.pfx)>Agregar certificado.

  3. En Origen, seleccione Importar App Service Certificate.

  4. En Certificado de App Service, seleccione el certificado que acaba de crear.

  5. En Nombre descriptivo del certificado, asigne un nombre al certificado en la aplicación.

  6. Seleccione Validar. Una vez que la validación se haya realizado correctamente, seleccione Agregar.

    Captura de pantalla de la página de administración de la aplicación con las opciones “Aportación de sus propios certificados (.pfx)” e “Importar certificado de App Service” seleccionadas, y la página “Agregar certificado de clave privada” completada con el botón **Validar**.

    Una vez que la operación se haya completado, verá el certificado en la lista de certificados propios aportados.

    Captura de pantalla del panel

  7. Para ayudar a proteger un dominio personalizado mediante este certificado, aún necesita crear un enlace de certificado. Siga los pasos descritos en Protección de un nombre DNS personalizado con un enlace TLS/SSL en Azure App Service.

Importación de un certificado de Key Vault

Si usa Azure Key Vault para administrar los certificados, puede importar un certificado PKCS12 de Key Vault en App Service, siempre que cumpla los requisitos.

Autorización a App Service para leer desde el almacén

De forma predeterminada, el proveedor de recursos de App Service no tiene acceso al almacén de claves del usuario. A fin de usar un almacén de claves para una implementación de certificados, debe autorizar el acceso de lectura al almacén de claves para el proveedor de recursos (App Service). Puede conceder acceso con la directiva de acceso o RBAC.

Proveedor de recursos Id. de la aplicación de la entidad de servicio o usuario asignado Rol RBAC del almacén de claves
Microsoft Azure App Service o Microsoft.Azure.WebSites - abfa0a7c-a6b6-4736-8310-5855508787cd para el entorno de nube pública de Azure

- 6a02c803-dafd-4136-b4c3-5a6f318b4714 para el entorno en la nube de Azure Government
Usuario de certificado

El id. de la aplicación de la entidad de servicio o el valor del usuario asignado es el identificador del proveedor de recursos de App Service. Para obtener información sobre cómo autorizar permisos del almacén de claves para el proveedor de recursos de App Service mediante una directiva de acceso, consulte la documentación sobre cómo proporcionar acceso a claves, certificados y secretos de Key Vault con el control de acceso basado en rol de Azure.

Nota:

No elimine estos permisos de RBAC del almacén de claves. Si lo hace, App Service no podrá sincronizar la aplicación web con la versión más reciente del certificado del almacén de claves.

Importación de un certificado desde el almacén a la aplicación

  1. En Azure Portal, en el menú de la izquierda, seleccione App Services><nombre-de-aplicación>.

  2. En el menú de navegación de la aplicación, seleccione Certificados>Aportación de sus propios certificados (.pfx)>Agregar certificado.

  3. En Origen, seleccione Importar desde Key Vault.

  4. Seleccione Seleccionar certificado de Key Vault.

    Captura de pantalla de la página de administración de la aplicación con las opciones

  5. Para ayudarle a seleccionar el certificado, use la tabla siguiente:

    Configuración Descripción
    Suscripción La suscripción asociada al almacén de claves.
    Key vault El almacén de claves que contiene el certificado que desea importar.
    Certificate En esta lista, seleccione un certificado PKCS12 que se encuentra en el almacén. Se enumeran todos los certificados PKCS12 del almacén con sus huellas digitales, pero no todos se admiten en App Service.
  6. Cuando haya terminado con las opciones, seleccione Seleccionar, Validar y Agregar.

    Una vez que la operación se haya completado, verá el certificado en la lista de certificados propios aportados. Si se produce un error en la importación, indica que el certificado no cumple los requisitos para App Service.

    Captura de pantalla del panel

    Nota

    Si actualiza el certificado en Key Vault con un nuevo certificado, App Service sincronizará automáticamente el certificado en un plazo de 24 horas.

  7. Para ayudar a proteger un dominio personalizado mediante este certificado, aún necesita crear un enlace de certificado. Siga los pasos descritos en Protección de un nombre DNS personalizado con un enlace TLS/SSL en Azure App Service.

Carga de un certificado privado

Después de obtener un certificado del proveedor, prepare el certificado para App Service siguiendo los pasos descritos en esta sección.

Combinación de certificados intermedios

Si la entidad emisora de certificados ofrece varios certificados en la cadena de certificados, debe combinar los certificados siguiendo el mismo orden.

  1. En un editor de texto, abra cada certificado recibido.

  2. Para almacenar el certificado combinado, cree un archivo denominado mergedcertificate.crt.

  3. Copie el contenido de cada certificado en este archivo. Asegúrese de seguir la secuencia especificada por la cadena de certificados, empezando por su certificado y finalizando con el certificado raíz. Por ejemplo:

    -----BEGIN CERTIFICATE-----
    <your entire Base64 encoded SSL certificate>
    -----END CERTIFICATE-----
    
    -----BEGIN CERTIFICATE-----
    <The entire Base64 encoded intermediate certificate 1>
    -----END CERTIFICATE-----
    
    -----BEGIN CERTIFICATE-----
    <The entire Base64 encoded intermediate certificate 2>
    -----END CERTIFICATE-----
    
    -----BEGIN CERTIFICATE-----
    <The entire Base64 encoded root certificate>
    -----END CERTIFICATE-----
    

Exportación de un certificado privado combinado a PFX

Ahora, exporte el certificado TLS/SSL combinado con la clave privada que se usó para generar la solicitud de certificado. Si la solicitud de certificado se genera mediante OpenSSL, se creará un archivo de clave privada.

Nota:

OpenSSL v3 ha cambiado el cifrado predeterminado de 3DES a AES256, pero esto se puede invalidar en la línea de comandos -keypbe PBE-SHA1-3DES -certpbe PBE-SHA1-3DES -macalg SHA1. OpenSSL v1 usa 3DES como valor predeterminado, por lo que los archivos PFX generados se admiten sin necesidad de realizar modificaciones especiales.

  1. Para exportar el certificado a un archivo PFX, ejecute el siguiente comando, pero reemplace los marcadores de posición <private-key-file> y <merged-certificate-file> por las rutas de acceso a su clave privada y al archivo de certificado combinado.

    openssl pkcs12 -export -out myserver.pfx -inkey <private-key-file> -in <merged-certificate-file>  
    
  2. Cuando se le solicite, especifique una contraseña para la operación de exportación. Al cargar el certificado TLS/SSL en App Service más adelante, tendrá que proporcionar esta contraseña.

  3. Si usó IIS o Certreq.exe para generar la solicitud de certificado, instale el certificado en la máquina local y luego expórtelo a un archivo PFX.

Carga del certificado en App Service

Ya está listo para cargar el certificado en App Service.

  1. En Azure Portal, en el menú de la izquierda, seleccione App Services><nombre-de-aplicación>.

  2. En el menú de navegación de la aplicación, seleccione Certificados>Aportación de sus propios certificados (.pfx)>Cargar certificado.

    Captura de pantalla de la página de administración de la aplicación con las opciones

  3. Para ayudarle a cargar el certificado .pfx, use la tabla siguiente:

    Configuración Descripción
    Archivo de certificado PFX Seleccione el archivo .pfx.
    Contraseña del certificado Escriba la contraseña que creó al exportar el archivo PFX.
    Nombre descriptivo del certificado Nombre del certificado que se mostrará en la aplicación web.
  4. Cuando haya terminado con las opciones, seleccione Seleccionar, Validar y Agregar.

    Una vez que la operación se haya completado, verá el certificado en la lista de certificados propios aportados.

    Captura de pantalla del panel

  5. Para proporcionar seguridad para un dominio personalizado mediante este certificado, aún necesita crear un enlace de certificado. Siga los pasos descritos en Protección de un nombre DNS personalizado con un enlace TLS/SSL en Azure App Service.

Carga de un certificado público

Se admiten certificados públicos en el formato .cer.

Nota:

Después de cargar un certificado público en una aplicación, solo puede acceder a él la aplicación en la que se ha cargado. Los certificados públicos deben cargarse en cada aplicación web individual que necesite acceso. Para ver escenarios específicos de App Service Environment, consulte la documentación de certificados y App Service Environment.

Puede cargar hasta 1000 certificados públicos por plan de App Service.

  1. En Azure Portal, en el menú de la izquierda, seleccione App Services><nombre-de-aplicación>.

  2. En el menú de navegación de la aplicación, seleccione Certificados>Certificados de clave pública (.cer)>Agregar certificado.

  3. Para ayudarle a cargar el certificado .cer, use la tabla siguiente:

    Configuración Descripción
    Archivo de certificado CER Seleccione su archivo .cer.
    Nombre descriptivo del certificado Nombre del certificado que se mostrará en la aplicación web.
  4. Cuando finalice, seleccione Agregar.

    Captura de pantalla de la página de administración de aplicaciones. Muestra el certificado de clave pública que se va a cargar y su nombre.

  5. Después de cargar el certificado, copie la huella digital del certificado y consulte Que el certificado sea accesible.

Renovación de un certificado que va a expirar

Antes de que expire un certificado, asegúrese de agregar el certificado renovado a App Service y actualice cualquier enlace de certificado en el que el proceso dependa del tipo de certificado. Por ejemplo, un certificado importado de Key Vault, incluido un certificado de App Service, se sincroniza automáticamente con App Service cada 24 horas y actualiza el enlace TLS/SSL cuando se renueva el certificado. Para un certificado cargado, no hay ninguna actualización de enlace automática. En función del escenario, revise la sección correspondiente:

Renovación de un certificado cargado

Al reemplazar un certificado que va a expirar, la forma de actualizar el enlace del certificado con el nuevo certificado podría afectar negativamente a la experiencia del usuario. Por ejemplo, su dirección IP de entrada podría cambiar cuando elimine un enlace, incluso si este está basado en IP. Esto es especialmente importante al renovar un certificado que ya está incluido en un enlace basado en IP. Para evitar modificaciones en la dirección IP de la aplicación y el tiempo de inactividad de la aplicación debido a errores HTTPS, siga estos pasos en el orden especificado:

  1. Cargue el nuevo certificado.

  2. Vaya a la página Dominios personalizados de la aplicación, seleccione el botón ... y, luego, seleccione Actualizar enlace.

  3. Seleccione el nuevo certificado y, luego, Actualizar.

  4. Elimine el certificado existente.

Renovación de un certificado importado desde Key Vault

Nota

Para renovar un certificado de App Service, consulte Renovación de un certificado de App Service.

Para renovar un certificado que importó en App Service desde Key Vault, consulte Renovación de los certificados de Azure Key Vault.

Después de renovar el certificado en el almacén de claves, App Service sincronizará automáticamente el nuevo certificado y actualizará cualquier enlace de certificado aplicable en un plazo de 24 horas. Para llevar a cabo la sincronización manual, siga estos pasos:

  1. Vaya a la página Certificado de la aplicación.

  2. En Aportación de sus propios certificados (.pfx), seleccione el botón ... para el certificado de Key Vault importado y, luego, Sincronizar.

Preguntas más frecuentes

¿Cómo puedo automatizar la adición de un certificado aportado propio a una aplicación?

¿Puedo usar un certificado de CA (entidad de certificación) privado para TLS entrante en mi aplicación?

Puede usar un certificado de entidad de certificación privada para TLS entrante en App Service Environment versión 3. Esto no es posible en App Service (multiinquilino). Para obtener más información sobre App Service multiinquilino frente a un solo inquilino, consulte Comparación multiinquilino público de App Service Environment v3 y App Service.

¿Puedo realizar llamadas salientes mediante un certificado de cliente de entidad de certificación privada desde mi aplicación?

Esto solo se admite para las aplicaciones de contenedor de Windows en App Service multiinquilino. Además, puede realizar llamadas salientes mediante un certificado de cliente de entidad de certificación privada con aplicaciones basadas en código y basadas en contenedores en App Service Environment versión 3. Para obtener más información sobre App Service multiinquilino frente a un solo inquilino, consulte Comparación multiinquilino público de App Service Environment v3 y App Service.

¿Puedo cargar un certificado de entidad de certificación privada en mi almacén raíz de confianza de App Service?

Puede cargar su propio certificado de entidad de certificación en el almacén raíz de confianza en App Service Environment versión 3. No se puede modificar la lista de certificados raíz de confianza en App Service (multiinquilino). Para obtener más información sobre App Service multiinquilino frente a un solo inquilino, consulte Comparación multiinquilino público de App Service Environment v3 y App Service.

Más recursos