Gestión de certificados digitales
La gestión de certificados digitales es un aspecto crucial del intercambio seguro de datos entre equipos clientes y servidores web. Como las asignaciones no solo se pueden ejecutar en Windows con Altova MapForce, sino que también se pueden ejecutar en servidores Windows, Linux y macOS con MapForce Server (por separado o como parte de FlowForce Server), en esta sección explicamos cómo puede gestionar certificados HTTPS en las distintas plataformas.
En el contexto del protocolo HTTPS es importante distinguir entre certificados de cliente y de servidor.
Certificados de servidor
Un certificado de servidor identifica un servidor como entidad de confianza para una aplicación cliente como MapForce. El certificado de servidor puede estar firmado digitalmente por una entidad de certificación comercial o por la organización del usuario. En ambos casos, mientras se diseña la asignación en MapForce tiene la opción de especificar:
•Si se debe comprobar el certificado de servidor.
•Si la solicitud debe continuar incluso si se detectan diferencias entre el nombre del certificado y el nombre de host.
Esta configuración puede editarse en el cuadro de diálogo "Configuración de seguridad HTTPS" de MapForce (véase Configuración de seguridad HTTPS). Si habilita la opción para comprobar el certificado de servidor, debe tener en cuenta que:
•Si llama a un servidor web cuyo certificado está firmado por una entidad de certificación de confianza, es probable que el sistema operativo ya esté configurado para confiar en el certificado de servidor, sin necesidad de realizar ajustes en el sistema.
•Si llama a un servidor web cuyo certificado está autofirmado (p. ej. un servidor de red local de su organización), deberá configurar el sistema operativo para que confíe en el certificado.
En la mayoría de los casos, puede comprobar el nivel de confianza que hay entre el sistema operativo y el servidor web con solo introducir la URL del servicio web en la barra de direcciones del explorador. Si el servidor no es de confianza o el sistema operativo no está configurado para confiar en el servidor, el explorador mostrará un mensaje parecido a "Esta conexión no es de confianza" o "Hay un problema con el certificado de este sitio web". Sin embargo, si el explorador utiliza una base de datos de certificados que no es la del sistema operativo (p. ej. Firefox 35.0.1 en Ubuntu 14.04) entonces no podrá comprobar el nivel de confianza con el explorador web.
En Windows puede establecer confianza con el servidor siguiendo las instrucciones del explorador e importando/instalando los certificados necesarios en el almacén Entidades de certificación raíz de confianza (véase Confiar en certificados servidor en Windows). En macOS puede realizar una operación parecida en Acceso a Llaveros (véase Confiar en certificados servidor en macOS). Para Linux consulte el apartado Confiar en certificados servidor en Linux.
Certificados de cliente
Mientras que los certificados de servidor sirven para identificar un servidor como entidad de confianza, los certificados de cliente sirven principalmente para autenticar al autor de la llamada con el servidor web. Si tiene pensado llamar a un servidor web que requiere certificados de cliente, quizás sea recomendable ponerse en contacto con el administrador del servidor web y solicitar instrucciones para configurar el cliente correctamente. Por ejemplo, en el caso de IIS, el servidor web puede estar configurado para ocuparse de conexiones HTTPS y certificados de cliente de varias maneras:
•Puede exigir HTTPS y omitir el certificado de cliente
•Puede exigir HTTPS y aceptar el certificado de cliente
•Puede exigir HTTPS y también el certificado de cliente
El hecho de que la solicitud al servicio web funcione o no dependerá tanto de la configuración del servidor web como de la aplicación cliente. Por ejemplo, si el servidor web está configurado para exigir un certificado de cliente, para que funcione la llamada la aplicación que efectúa la llamada debe presentar un certificado de cliente válido.
Desde el punto de vista del sistema MapForce, lo mismo ocurre cuando las asignaciones incluyen llamadas a servicios web por HTTPS. Para que estas asignaciones se ejecuten correctamente, es necesario que el servidor web esté configurado para aceptar o exigir el certificado de cliente y que el sistema operativo donde se ejecuta la asignación suministre el certificado de cliente adecuado al servidor web.
En el diagrama que aparece a continuación puede ver un ejemplo donde se transfiere un certificado de cliente utilizado por MapForce a un servidor Linux que ejecuta MapForce Server. Una vez transferido al sistema operativo, el certificado se podrá usar en MapForce Server para autenticarse en el servidor web y ejecutar la asignación correctamente.
Implementación de asignaciones con certificados de cliente en otros equipos
MapForce es capaz de usar cifrado TLS (Seguridad de la capa de transporte) además de HTTP, que sustituye al protocolo SSL (Capa de sockets seguros). Tenga en cuenta que si la implementación cliente o el servidor no son compatibles con TSL es posible que se recurra a SSL.
Para garantizar la compatibilidad con llamadas web con autenticación de certificado de cliente en varias plataformas, MapForce y MapForce Server requieren que la gestión de certificados esté implementada en cada plataforma. Esto garantiza que la gestión de certificados siempre esté dentro del ámbito del sistema operativo. Cada sistema operativo ofrece diferentes funciones de gestión de certificados, tal y como muestra la tabla.
Platforma | Gestión de certificados e implementación |
---|---|
Windows | Puede gestionar certificados con el complemento Certificados (véase Acceso a los almacenes de certificados en Windows).
La biblioteca SChannel ofrece compatibilidad con TLS. |
Linux | Puede gestionar certificados con la herramienta y biblioteca OpenSSL de la línea de comandos. Si el equipo Linux que ejecuta MapForce Server todavía no es compatible con OpenSSL, deberá descargarlo e instalarlo para poder gestionar certificados.
La biblioteca OpenSSL ofrece compatibilidad con TLS (https://www.openssl.org/). |
macOS | Puede gestionar certificados con el administrador Keychain Access Manager, disponible en Finder > Applications > Utilities.
La biblioteca nativa Secure Transport ofrece compatibilidad con TLS. |
Si ejecuta la asignación en un sistema operativo Windows donde ya puede consumir correctamente el mismo servicio web al que tiene pensado llamar desde MapForce, lo normal es que no necesite realizar cambios en la configuración de certificados (véase Certificados de cliente en Windows). Sin embargo, si diseña asignaciones con MapForce en un equipo Windows y después las implementa en otro equipo (con otro sistema operativo), el certificado de cliente no se almacena ni se copia junto con el paquete implementado. Para que la llamada a servicio web y la asignación se ejecuten correctamente, el certificado de cliente debe existir también en el sistema operativo de destino.
Para transferir un certificado del sistema Windows a otro equipo Windows, exporte el certificado (con clave privada) del sistema de origen (véase Exportar certificados de Windows). Después debe importar el mismo certificado al almacén Usuario actual/Personal del sistema operativo de destino (véase Certificados de cliente en Windows).
Consulte los apartados Certificados de cliente en Linux y Certificados de cliente en macOS para obtener más información sobre cómo transferir certificados de cliente a plataformas Linux y macOS.