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

Puede agregar certificados de seguridad digital para usarlos en el código de la aplicación, obien para 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 proteger el 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.
  • Contener una clave privada con una longitud de al menos 2048 bits
  • Contiene todos los certificados intermedios y el certificado raíz de la cadena de certificados.

Para proteger un dominio personalizado en un enlace TLS, el certificado debe cumplir otros requisitos:

  • 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 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 (ASE).
  • 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.
  • No es compatible con aplicaciones que no sean accesibles públicamente.
  • 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

  4. Para 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 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 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. Para 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.

Nota

Actualmente, un certificado de Key Vault solo admite la directiva de acceso de Key Vault, pero no el modelo de RBAC.

Proveedor de recursos AppID de la entidad de servicio Permisos de secretos del almacén de claves Permisos de certificado del almacén de claves
Microsoft Azure App Service o Microsoft.Azure.WebSites - abfa0a7c-a6b6-4736-8310-5855508787cd, que es el mismo para todas las suscripciones de Azure

- Para el entorno en la nube de Azure Government, use 6a02c803-dafd-4136-b4c3-5a6f318b4714.
Obtener Obtener
Microsoft.Azure.CertificateRegistration Obtener
List
Set
Eliminar
Get
List

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 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 cambió 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 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 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 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 del nombre y del certificado de clave pública para cargar.

  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 ... de acciones 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 ... de detalles 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 configurar un certificado de entidad de certificación privada en mi aplicación?

App Service tiene una lista de certificados raíz de confianza que no se pueden modificar en la versión de variante multiinquilino de App Service, pero puede cargar su propio certificado de entidad de certificación en el almacén raíz de confianza en una instancia de App Service Environment (ASE), que es un entorno de un solo inquilino en App Service. (Los planes Gratis, Básico, Estándar y Premium de App Service son multiinquilino y los planes Aislado son de un solo inquilino).

Más recursos