martes, 7 de junio de 2022

Clave 2.0 Java (2) Configurar el proyecto de prueba

 Ahora que ya hemos podido arrancar la primera pantalla, hay que configurar la aplicación.

1. Configurar Tomcat con SSL

Vamos a configurar el Tomcat 8.5 para que admita protocolo https, pero vamos a utilzar el certificado que nos han suministrado.

Hay que ver los certificados que se guadan en el "KeyStore.jks" del directorio de configuración "Config". Ejecutamos:
 
keytool -list -keystore '<Ruta>/KeyStore.jks

le damos el password "local-demo"

y nos muestra que hay 2 entradas ("local-demo-cert-es" y "sello kit de pruebas (ac sector público)") 

Keystore type: jks

Keystore provider: SUN

Your keystore contains 2 entries

local-demo-cert-es, 16/11/2017, PrivateKeyEntry, 

Certificate fingerprint (SHA-256): B6:DD:C5:7D:A5:06:17:7A:E3:3B:9B:E9:2C:45:38:14:B7:98:3D:09:B8:A9:2E:34:3D:F5:BB:E3:3A:F3:53:44

sello kit de pruebas (ac sector público), 17/05/2022, PrivateKeyEntry, 

Certificate fingerprint (SHA-256): F3:ED:ED:01:F6:E5:C6:7B:AD:7F:26:76:3A:8E:D9:6F:1A:A1:FC:B1:CB:EB:87:86:D1:D8:36:C0:EA:BD:A3:1C

Warning:

<local-demo-cert-es> uses the SHA1withRSA signature algorithm which is considered a security risk. This algorithm will be disabled in a future update.

The JKS keystore uses a proprietary format. It is recommended to migrate to PKCS12 which is an industry standard format using "keytool -importkeystore -srckeystore CLAVE20_CONF/SP/KeyStore.jks -destkeystore CLAVE20_CONF/SP/KeyStore.jks -deststoretype pkcs12".

Vamos a utilizar el certificado con alias "local-demo-cert-es" como certificado del servidor.

Vamos a Servers -Tomcat v8.5 Server at localhost-config y modificamos el fichero server.xml


Añadimos las líneas que no estan comentadas sirviendo de ejemplo de las primeras que están comentadas.


<!--
    <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true">
        <SSLHostConfig>
            <Certificate certificateKeystoreFile="conf/localhost-rsa.jks"
                         type="RSA" />
        </SSLHostConfig>
    </Connector>
    -->
    
    <Connector 
        SSLEnabled="true" 
        maxThreads="150" 
        port="8443" 
        protocol="org.apache.coyote.http11.Http11NioProtocol" 
        scheme="https" 
        secure="true">
        <SSLHostConfig>
            <Certificate 
                 certificateKeyAlias="local-demo-cert-es" 
                 certificateKeystoreFile="ruta.../Config/KeyStore.jks" 
                 certificateKeystorePassword="local-demo" 
                 type="RSA"/>
        </SSLHostConfig>
    </Connector>
    

Hay que darle la ruta correcta al keystore en "certificateKeystoreFile"!!!

Ejecutamos (Run As- Run On Server) y arranca con protocolo http. Para ver si va con https abrimos una pestaña del navegador y le indicamos https://localhost:8443/SP2 y debería de arrancar, dando los problemas de siempre que no se confía en ese certificado, pero al final arranca






No hay comentarios :

Publicar un comentario