HTTPS: configurare Tomcat

In un precedente articolo abbiamo visto come generare una richiesta di certificato CSR per ottenere un certificato SSL/TLS da installare su Apache Httpd. Se invece si ha la necessità di installare il certificato su server Tomcat ecco come procedere.

Supponiamo di avere la chiave privata nel file private.key, il nostro certificato nel file certificate.crt ed il certificato della Certification Authority in certauth.bundle.  

Utilizzando OpenSSL dobbiamo prima creare un file di tipo PKCS12 contenente questi dati:

openssl pkcs12 -export -in certificate.crt -inkey private.key -out keystore.p12 -name tomcat -CAfile certauth.bundle -caname root

adesso lo convertiamo in formato JKS compatibile con tomcat:

keytool -importkeystore -deststorepass laPassword -destkeypass laPassword -destkeystore /opt/tomcat/conf/keystore.jks -srckeystore keystore.p12 -srcstoretype PKCS12 -alias tomcat

Non resta che inserire nel file di configurazione del tomcat server.xml il seguente codice:

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="/opt/tomcat/conf/keystore.jks" keystorePass="laPassword" keyAlias="tomcat" />

A questo punto sulla porta 8443 avrete un tomcat che risponde su protocollo HTTPS.