Uso de certificados TLS/SSL en la aplicación en Azure Spring Apps
Nota:
Azure Spring Apps es el nuevo nombre del servicio Azure Spring Cloud. Aunque el servicio tiene un nuevo nombre, verá el nombre antiguo en algunos lugares durante un tiempo mientras trabajamos para actualizar recursos, como capturas de pantalla, vídeos y diagramas.
La información de este artículo puede ponerse en práctica en: ✔️ Básico o Estándar ✔️ Enterprise
En este artículo se muestra cómo usar certificados públicos en Azure Spring Apps para la aplicación. La aplicación puede actuar como un cliente y acceder a un servicio externo que requiere autenticación de certificado, o puede que tenga que realizar tareas criptográficas.
Cuando permite que Azure Spring Apps administre los certificados TLS/SSL, puede mantener por separado los certificados y el código de la aplicación para proteger así la información confidencial. El código de la aplicación puede acceder a los certificados públicos que agregue a la instancia de Azure Spring Apps.
Requisitos previos
- Una aplicación implementada en Azure Spring Apps. Consulte Inicio rápido: implementación de la primera aplicación de Azure Spring Apps o use una aplicación existente.
- Un archivo de certificado con la extensión .crt, .cer, .pem o .der o una instancia implementada de Azure Key Vault con un certificado privado.
Importación de un certificado
Puede elegir importar el certificado en la instancia de Azure Spring Apps desde Key Vault o usar un archivo de certificado local.
Importación de un certificado de Key Vault
Para conceder acceso a su almacén de claves a Azure Spring Apps antes de importar el certificado, siga estos pasos:
Inicie sesión en Azure Portal.
Seleccione Almacenes de claves y, a continuación, seleccione la instancia de Key Vault desde la que importará el certificado.
En el panel de navegación izquierdo, seleccione Directivas de acceso y, a continuación, seleccione Crear.
Seleccione Permisos de certificado y, a continuación, seleccione Obtener y Enumerar.
En Entidad de seguridad, seleccione el proveedor de recursos de Azure Spring Cloud.
Seleccione Revisar y crear y, a continuación, seleccione Crear.
Después de que conceda acceso al almacén de claves, puede importar el certificado mediante estos pasos:
Vaya a la instancia del servicio.
En el panel de navegación izquierdo de la instancia, seleccione Configuración de TLS/SSL.
Seleccione Importar certificado de Key Vault en la sección Certificados de clave pública.
Seleccione el almacén de claves en la sección Almacenes de claves, seleccione el certificado en la sección Certificado y, a continuación, seleccione Seleccionar.
Proporcione un valor para Nombre de certificado, seleccione Habilitar sincronización automática si es necesario y, a continuación, seleccione Aplicar. Para obtener más información, consulte la sección Certificado de sincronización automática de Asignación de un dominio personalizado existente a Azure Spring Apps.
Cuando haya importado correctamente el certificado, lo verá en la lista de Certificados de clave pública.
Nota:
Las instancias de Azure Key Vault y Azure Spring Apps deben residir en el mismo inquilino.
Importación de un archivo de certificado local
Puede importar un archivo de certificado almacenado localmente mediante estos pasos:
- Vaya a la instancia del servicio.
- En el panel de navegación izquierdo de la instancia, seleccione Configuración de TLS/SSL.
- Seleccione Cargar certificado público en la sección Certificados de clave pública.
Cuando haya importado correctamente el certificado, lo verá en la lista de Certificados de clave pública.
Carga de un certificado
Para cargar un certificado en la aplicación en Azure Spring Apps, comience con estos pasos:
- Vaya a la instancia de la aplicación.
- En el panel de navegación izquierdo de la aplicación, seleccione Administración del certificado.
- Seleccione Agregar certificado para elegir certificados accesibles para la aplicación.
Carga de un certificado desde el código
Los certificados cargados están disponibles en la carpeta /etc/azure-spring-cloud/certs/public. Use el código Java siguiente para cargar un certificado público en una aplicación en Azure Spring Apps.
CertificateFactory factory = CertificateFactory.getInstance("X509");
FileInputStream is = new FileInputStream("/etc/azure-spring-cloud/certs/public/<certificate name>");
X509Certificate cert = (X509Certificate) factory.generateCertificate(is);
// use the loaded certificate
Carga de un certificado en el almacén de confianza
Para una aplicación Java, puede elegir Cargar en el almacén de confianza para el certificado seleccionado. El certificado se agrega automáticamente a los TrustStores predeterminados de Java para autenticar un servidor en la autenticación SSL.
El siguiente registro de la aplicación muestra que el certificado se ha cargado correctamente.
Load certificate from specific path. alias = <certificate alias>, thumbprint = <certificate thumbprint>, file = <certificate name>