Ayuda sobre productos BOLD:

Configuración de conexión HTTPS (IIS y Tomcat)

Página:
< Volver

En general se deberá siempre dejar configurados los accesos por https en las instalaciones de PRO. De hecho lo mejor dejarlo así en el mismo momento que se instala PRO.

Para configurar la conexión HTTPS en ambos servidores necesitaremos un certificado asociado a un nombre de dominio DNS, de forma que luega se pueda referenciar el servidor similar a: https://nombre_de_dominio_del_certificado.com. Este hostname será el mismo para acceder al servidor ya se acceda desde dentro de la red como desde Internet.

Preferentemente en formato .pfx y se necesita la contraseña para poder extraer la clave privada del mismo.

Con la información de este artículo, se pueden renovar certificados previamente instalados.

Configuración de Tomcat

En una instalación local, el detalle de la configuración HTTPS está normalmente en: http://localhost:8080/docs/ssl-howto.html. Los pasos suelen ser:

A. Preparación del keystore con Portecle

Nota 1: La herramienta Portecle se habrá suministrado con el SW base necesario durante el proceso de instalación.

Nota 2: Otra alternativa válida es : https://keystore-explorer.org/

Para acceder Portecle abriremos una ventana de comandos y nos colocaremos en la carpeta donde esté ubicado el Portecle, después ejecutaremos el portecle.jar desde la ubicación del java. Habitualmente:

cd "C:\Program Files\Java\jre1.8.0_351\bin"
java.exe -jar "C:\portecle-1.7\portecle.jar"

Una vez abierto Portecle abrir File -> Open Keystore File y buscar fichero keystore.jks en:

C:\apache-tomcat-8.5.50\conf

  1. Crear el fichero de claves (java keystore) donde se guardarán los certificados del sitio web (normalmente uno). Para ello usaremos la herramienta portecle:
  2. File –> New keystore, seleccionar formato JKS.
  3. Importar el certificado del hostname a asegurar, por ejemplo del fichero .pfx que se nos proporcione: Tools –> Import Key Pair. Nos pedirá el pwd que nos hayan dado protege este certificado. A continuación ya podremos escogerlo.
  4. Cada certificado del keystore lleva asociado un “alias”, por defecto el tomcat busca el certificado con el alias “tomcat”. Será el que pondremos.
  5. A continuación el portecle nos pide un pwd para el proteger el acceso a estos certificados, por convención ponemos “changeit”. Ya veremos el nuevo certificado en la lista.
  6. Grabamos el nuevo keystore escogiendo File —> Save. Nos pedirá que añadamos otro pwd para proteger el keystore, ponemos “changeit” otra vez (por ejemplo). Y lo grabamos en la carpeta que sea. Un buen sitio puede ser la carpeta conf del Tomcat: C:\apache-tomcat-8.5.50\conf

Nota importante: vale la pena eliminar el resto de entradas existentes en el keystore, dejando únicamente la nueva que hemos importado, para evitar confusiones en el futuro (hacer una copia anrtes por si acaso).

B. Configuración del Tomcat

  1. Habilitar el conector del puerto https por defecto 8443, descomentar en el fichero C:\apache-tomcat-8.5.50\conf\server.xml el nodo Connector correspondiente e indicar la ubicación del fichero de claves. Por ejemplo podría quedar así (mikeystore.jks es el almacén de claves creado antes con el portecle):
    <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true">
        <SSLHostConfig>
            <Certificate certificateKeystoreFile="C:\Proyectos\Clientes\test\test_certificados\mikeystore.jks"
                         type="RSA" />
        </SSLHostConfig>
    </Connector>

2. Por último ya podemos reiniciar el tomcat y ya deberíamos poder acceder usando https. Verificar que el acceso sea válido, normalmente será algo como: https://nombre_de_dominio_del_certificado.com:8443/portal

Nota 1: recordar que siempre podemos hacer todas esta pruebas en local simplemente añadiendo el hostname que estamos probando con https al fichero C:\Windows\System32\drivers\etc\hosts, entonces podremos abrir un browser de incógnito y probar que el certificado es correcto y todo funcionará igual que en su destino final, simplemente llevándonos el keystore y aplicando la misma configuración en esa instalación de Tomcat.

Nota 2: si no arranca puede ser que el puerto en cuestión ya esté ocupado (para saber los puertos ocupados tenemos la herramienta (como administrador para verlo todo) que nos indicará todos los puertos ocupados y qué procesos los están usando: netstat -a -b

IIS (Internet Information server): Instalación del certificado para usar HTTPS

En el nodo raiz del IIS acceder a Server Certificates, e importar el certificado .pfx (necesitaremos el pwd para acceder a la clave privada).

Después en el nodo Sites -> Default Web Site añadir -> Bindings (enlaces) la conexión https en un puerto que tengamos libre (normalmente el 443 se usa para el portal se suele usar el 8443).

Verificar que el acceso sea válido: https://nombre_de_dominio_del_certificado.com/gpsnode

Reconfiguración de URL de gpsnode y portal

Una vez configurado el certificado es necesario revisar las URL que se encuentren configuradas en el archivo WPServerCfg.ini bajo las entradas URLProduction (portal) y URLFullWebProduction (web/gpsnode). si se han de cambiar será necesario reiniciar tanto el backend (ISAPI) como el portal-java.

Anexo 1. Herramientas de gestión de certificados y claves

La forma más sencilla es manipular el keystore con el portecle, sin embargo, existen un par de herramientas que suelen encontrarse en casi cualquier servidor que son el openssl y el keytool, ambas permiten la manipulación de estas cosas. El keytool lo incluye cualquier instalación de java (ej.: “C:\Program Files\Java\jre7\bin\keytool”). A continuación se listan algunos comandos útiles (añadir -keystore <archivo_almacen.jks) a todos los comandos):

Volcar la lista de claves del almacén

.\keytool -list -storepass changeit

Ver el detalle de un certificado del almacén que tiene el alias “tomcat”

.\keytool -list -v -alias tomcat -storepass changeit

Borrar un certificado por su alias

.\keytool -delete -v -alias tomcat -storepass changeit

Renombrar el alias de un certificado

.\keytool -changealias -v -alias tomcat -storepass changeit

Generación del certificado .pfx a partir de archivos pem (o archivos de texto de claves)

Frecuentemente nos dan los ficheros de texto con las claves pública y privada dentro y hemos de obtener a partir de ellos el fichero .pfx que es el que usamos normalmente para configurar:

.\openssl.exe pkcs12 -export -out ..\NUEVO.pfx -inkey ..\privateKey.key -in ..\certificado_publico.crt

El comando anterior “escupe” un .pfx partiendo de los ficheros claves privada (.key) y certificado (clave pública .crt).

Creación de clave privada y certificado locales

.\openssl req -newkey rsa:2048 -nodes -keyout privateKey.pem -x509 -out certificate.pem

Obtención de clave pública

.\openssl rsa -pubout -in privateKey.pem -out publicKey.pem

Conversión a PKCS12

.\openssl pkcs12 -inkey privateKey.pem -in certificate.pem -export -out certificate.p12

Conversión a Java Key Store

.\keytool -genkey -keyalg RSA -alias myStore -keystore keystore.jks .\keytool -delete -alias myStore -keystore keystore.jks

Importación de PKCS12 a Java Key Store

.\keytool -v -importkeystore -srckeystore certificate.p12 -srcstoretype PKCS12 -destkeystore keystore.jks -deststoretype JKS

Conversión de pfx a pem

.\openssl pkcs12 -in key.pfx -nocerts -out privateKey.pem

Extracción del certificado

.\openssl pkcs12 -in key.pfx -clcerts -nokeys -out certificate.pem

Obtención del password de la clave privada extraida:

.\openssl rsa -in privateKey.pem -out server.key

Was this article helpful?
0 out Of 5 Stars
5 Estrellas 0%
4 Estrellas 0%
3 Estrellas 0%
2 Estrellas 0%
1 Estrellas 0%
5
How can we improve this article?
How Can We Improve This Article?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Contenido