Crear certificados SSL auto-firmados
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. Para obtener más información sobre cómo obtener certificados SSL firmados por una autoridad de certificación de confianza, consulte el apartado Firmar certificados SSL con autoridades de certificació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ía para cada sistema operativo y no se incluyen en esta documentación. Es posible que ya exista OpenSSL para equipos Linux y Mac; de lo contrario puede instalarlo o actualizarlo desde la línea de comandos. 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 |
En Windows puede compilar archivos binarios desde el código fuente oficial de OpenSSL o, como alternativa, descargar una distribución binaria que incluya OpenSSL. Consulte también https://www.openssl.org/community/binaries.html.
Crear el certificado raíz
1.Cree un directorio que almacene todos los certificados usados en este ejemplo (por ejemplo "C:\secure"). Este será el directorio de trabajo para todos los comandos OpenSSL posteriores (es decir, cualquier ruta de acceso a archivos es relativa a él), por lo que 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.Cree la clave privada raíz. 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. 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 la 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 campo Nombre común, introduzca el nombre de la autoridad de su certificado auto-firmado ("Demo CA" en este ejemplo).
Crear el certificado FlowForce
Ahora puede crear el certificado que usaremos para el cifrado SSL (en FlowForce Server, FlowForce Web Server o en ambos). El siguiente comando OpenSSL crea la clave privada:
openssl genrsa -out flowforce.key 2048 |
Nota •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, or .crt. •para que la clave privada se pueda usar en FlowForce no debe estar protegida por una contraseña, véase Requisitos de clave privada. •la clave privada debe guardarse de forma segura. |
A continuación abra el archivo de trabajo openssl.cnf y añádale el siguiente segmento de código:
[ server_cert ] |
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 es "server.my.domain". En Google Chrome 58 o más avanzado 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 https://support.google.com/chrome/a/answer/7391219?hl=en).
A continuación, cree una petición de firma de certificado (CSR), como 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 |
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 |
Nota •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. |
Para esta demostración firmaremos el certificado de FlowForce directamente 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 un 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 siguió los pasos anteriores, ahora debe tener estos certificados y estas claves:
•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 Importar el certificado raíz).
•flowforce.key: esta clave privada acompaña al certificado auto-firmado que haya proporcionado para que use FlowForce (véase el punto siguiente).
•flowforce.crt: este es un certificado auto-firmado para que lo usen FlowForce Server, FlowForce Web Server o ambos.
Ahora puede habilitar SSL para FlowForce Server, FlowForce Web Server y para la conexión HTTP entre ellos, como se muestra en los siguientes apartados:
•Habilitar SSL para FlowForce Web Server
•Habilitar SSL para FlowForce Server
•Habilitar SSL entre FlowForce Web Server y FlowForce Server