Altova FlowForce Server 2024 Advanced Edition

Este ejemplo explica cómo crear certificados SSL auto-firmados para una instancia FlowForce Server que se esté ejecutando en una red privada. Tenga en cuenta que hemos simplificado el ejemplo de forma intencionada, por lo que es posible que no se pueda utilizar en producción. Es probable que su organización tenga políticas de seguridad específicas para los certificados SSL y que use unas herramientas SSL distintas a las que se describen a continuación.

 

La creación de certificados SSL auto-firmados incluye los siguientes procedimientos:

 

1.Crear un certificado raíz

2.Crear un certificado FlowForce

3.Importar el certificado raíz

 

Para más información sobre cada paso, véase las subsecciones a continuación.

 

Requisitos

Este ejemplo usa las herramientas OpenSSL (https://www.openssl.org/) para generar certificados auto-firmados. Tenga en cuenta que OpenSSL es una biblioteca de software libre, por lo que es posible que tenga que compilarla antes de poder usarla en la línea de comandos. Las instrucciones de compilación e instalación para OpenSSL varían en función del sistema operativo. Por lo general, OpenSSL viene preinstalado en la mayoría de las versiones de Linux y en los equipos de macOS. Puede comprobar rápidamente si tiene instalado OpenSSL tecleando el siguiente comando (que también indica qué versión de OpenSSL está instalada):

 

openssl version

 

También puede instalar OpenSSL en equipos de Windows. En la wiki de OpenSSL encontrará enlaces para descargar los binarios de instalación.

 

Paso n°1: Crear un certificado raíz

Las instrucciones a continuación explicarán cómo crear un certificado raíz. El certificado raíz se usará para firmar el certificado del servidor (véase el siguiente paso más abajo).

 

1.Cree un directorio que almacene todos los certificados usados en este ejemplo (p.ej. C:\secure). Este será el directorio de trabajo para todos los comandos OpenSSL posteriores. Ahora deberá cambiar a este directorio desde la línea de comandos:

 

cd C:\secure

 

2.Para esta demostración emitiremos certificados con extensiones OpenSSL. Para ello, busque el archivo openssl.cnf de su distribución de OpenSSl y cópielo en el directorio de trabajo que creamos en el paso anterior.

3.Crea la clave raíz que actuará como clave privada de su autoridad de certificación. Observe que la clave privada raíz es una pieza esencial de la infraestructura de la clave pública, por lo que siempre se debe generar y almacenar en un entorno seguro (en esta demostración se almacena en C:\secure).

 

openssl genrsa -aes256 -out root.key 2048

 

Cuando la aplicación lo solicite, introduzca una contraseña para proteger la clave raíz. Seguirá necesitando esta contraseña más tarde para firmar solicitudes de certificados.

 

4.Cree el certificado raíz que es el certificado público de su autoridad de certificación. El siguiente comando genera un certificado auto-firmado para la clave privada que hemos creado más arriba con una duración de 3650 días. Tenga en cuenta que el parámetro -config apunta al archivo openssl.cnf del mismo directorio. El parámetro -extensions se refiere a la extensión (sección) v3_ca definida en openssl.cnf.

 

openssl req -config openssl.cnf -extensions v3_ca -x509 -new -nodes -key root.key -sha256 -days 3650 -out root.pem

 

Cuando la aplicación lo solicite, introduzca información sobre su organización, por ejemplo:

 

Country Name (2 letter code) [AU]: AT

State or Province Name (full name) [Some-State]: .

Locality Name (eg, city) []: Vienna

Organization Name (eg, company) [Internet Widgits Pty Ltd]: MyCompany Ltd

Organizational Unit Name (eg, section) []: IT

Common Name (eg, YOUR name) []: Demo CA

Email Address []: test@example.org

 

Rellene cada campo con la información pertinente de su organización. Para el Nombre común campo, introduzca el nombre de la autoridad de su certificado auto-firmado (Demo CA en este ejemplo).

 

Paso n°2: Crear un certificado FlowForce

El siguiente paso consiste en crear el certificado que se usará para el cifrado SSL (en FlowForce Server, FlowForce Web Server o en ambos). El certificado FlowForce se firmará con el certificado raíz que se creó en el paso 1.4. Para ello siga estos pasos:

 

1.Cree la clave privada usando el comando OpenSSL de más abajo. La clave privada acompaña al certificado auto-firmado que haya proporcionado para que lo use FlowForce.

 

openssl genrsa -out flowforce.key 2048

 

La clave privada debe estar en formato PEM (correo de privacidad mejorada). La extensión de los archivos PEM suele ser .pem, pero también puede ser .key, .cert, .cer o .crt. Para que la clave privada se pueda usar en FlowForce no debe estar protegida por una contraseña. La clave privada debe guardarse de forma segura.

 

2.Abra el archivo de trabajo openssl.cnf y añádale el siguiente segmento de código:

 

[ server_cert ]
# Extensions for server certificates (`man x509v3_config`).
basicConstraints = CA:FALSE
nsCertType = server
nsComment = "OpenSSL Generated Server Certificate"
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid,issuer:always
keyUsage = critical, digitalSignature, keyEncipherment
extendedKeyUsage = serverAuth
subjectAltName=DNS:server.my.domain.com

 

Asegúrese de cambiar el subjectAltName (Nombre alternativo del sujeto) para que se corresponda con el FQDN (nombre de dominio completo) del equipo en el que se está ejecutando FlowForce Server. En este ejemplo se llama server.my.domain. En Google Chrome 58 y versiones posteriores es necesario especificar también un nombre alternativo del sujeto; de lo contrario, su certificado auto-firmado generará el error NET::ERR_CERT_COMMON_NAME_INVALID (véase la página de ayuda de Chrome).

 

3.Cree una petición de firma de certificado (CSR), usando el comando que se muestra a continuación. Observe que el parámetro -config apunta al archivo openssl.cnf que hemos editado previamente. El parámetro -extension se refiere a la extensión server_cert definida en openssl.cnf.

 

openssl req -config openssl.cnf -extensions server_cert -new -nodes -key flowforce.key -out flowforce.csr

 

4.Cuando la aplicación lo solicite, introduzca información sobre su organización, por ejemplo:

 

Country Name (2 letter code) [AU]: AT

State or Province Name (full name) [Some-State]: .

Locality Name (eg, city) []: Vienna

Organization Name (eg, company) [Internet Widgits Pty Ltd]: MyCompany Ltd

Organizational Unit Name (eg, section) []: IT

Common Name (eg, YOUR name) []: server.my.domain.com

Email Address []: test@example.org

 

Para el campo Nombre común, asegúrese de que introduce el FQDN (nombre de dominio completo) del equipo anfitrión en el que se ejecuta FlowForce Server. Deje el campo de la contraseña de comprobación aleatoria cuando la aplicación la solicite.

 

5.Firme el certificado FlowForce con el certificado raíz. Observe que, en un entorno de producción, el certificado raíz normalmente no firma certificados de servidor directamente, sino que usa certificados intermedios. El siguiente comando firma la petición de certificado flowforce.csr con el certificado raíz creado previamente y crea el archivo flowforce.crt (que es el certificado de servidor que necesita FlowForce Server):

 

openssl x509 -extfile openssl.cnf -extensions server_cert -req -in flowforce.csr -CA root.pem -CAkey root.key -CAcreateserial -out flowforce.crt -days 365 -sha256

 

 

Resumen

Si ha seguido los pasos anteriores, ahora debe contar con estos certificados y esta clave:

 

root.key: Esta es la clave privada de su autoridad de certificación. Guarde este archivo en lugar seguro; si peligrase esta clave, entonces cualquiera podría generar en su nombre certificados que los exploradores considerasen de confianza.

root.pem: Este es el certificado público de su autoridad de certificación. Necesitará instalar (importar) este certificado en el almacén de certificados de confianza de cada equipo (o navegador) que deba acceder a FlowForce de forma segura (véase el paso 3 más abajo).

flowforce.key: Esta clave privada acompaña al certificado auto-firmado que haya proporcionado para que lo use FlowForce (véase el punto siguiente).

flowforce.crt: Este es su certificado auto-firmado para que lo usen FlowForce Server, FlowForce Web Server o ambos.

 

Paso n°3: Importar el certificado raíz

Cuando crea su propia autoridad de certificación (CA), el certificado raíz está auto-firmado, por lo que ningún navegador lo considerará de confianza por defecto. Para que un cliente HTTP (como un navegador) confíe en su certificado auto-firmado, este debe importarse como sigue:

 

En el almacén de certificados de confianza del sistema, si el navegador lo usa. En Windows, por ejemplo, Google Chrome y Microsoft Edge usa el almacén de certificados del sistema operativo, mientras que Mozilla Firefox usa su propio almacén. En Linux, Google Chrome y Mozilla Firefox usan sus propios almacenes de certificados (véase el siguiente punto). En Mac, Safari usa el almacén de certificados del sistema operativo (acceso a llaveros).

En el almacén de certificados de confianza del propio navegador.

 

Notas

 

El certificado autofirmado se debe importar para cada equipo cliente (o navegador, si procede) que quiera acceder a FlowForce Server.

Cuando habilite el cifrado SSL entre FlowForce Web Server y FlowForce Server, no basta con importar el certificado en el navegador. Su certificado autofirmado de autoridad de certificación debe ser de confianza para el sistema operativo también.

 

Hay varias maneras de importar el certificado raíz, dependiendo de su sistema operativo. Para más detalles siga leyendo.

 

 

Siguiente paso

Una vez realizado los pasos anteriores, ahora puede habilitar SSL para FlowForce Server, FlowForcer Web Server y para la conexión HTTP entre ellos. Este paso se describe en el paso 7 de la sección Configurar el cifrado SSL.

 

© 2018-2024 Altova GmbH