Tomcat
Nota
La seguente sezione fornisce degli esempi utili ad attuare la configurazione https. Per conoscere maggiori dettagli e modalità di configurazioni differenti fare riferimento a quanto indicato nella documentazione ufficiale dell’Application Server Apache Tomcat (http://tomcat.apache.org).
La configurazione può essere attuata nel file server.xml che si trova all’interno della cartella “TOMCAT_HOME/conf”.
Deve essere definito un connettore contenente il certificato che il server deve esporre e la porta su cui deve gestire le richieste https.
<Connector port="8445" protocol="HTTP/1.1" SSLEnabled="true" strategy="ms" maxHttpHeaderSize="8192" emptySessionPath="true" scheme="https" secure="true" clientAuth="false" sslProtocol = "TLS" keyAlias="aliasInKeystore" keystoreFile="/etc/govway/keys/govway_https_server.jks" keystorePass="changeit"/>
Nota
Nell’esempio fornito la passowrd della chiave privata del certificato server deve coincidere con la password del keystore.
Per rendere obbligatorio che il chiamante debba fornire un proprio certificato client:
deve essere abilitato l’attributo “clientAuth”.
<Connector port="8445" ... clientAuth="true" .../>
deve essere fornito un trustStore che contenga i certificati necessari a validarle i certificati client ricevuti. Il trustStore deve essere fornito attraverso le proprietà java “javax.net.ssl.trustStore” e “javax.net.ssl.trustStorePassword”. Per farlo è possibile ad esempio aggiungere la seguente riga al file “TOMCAT_HOME/bin/setenv.sh” (creare il file se non esiste):
JAVA_OPTS="$JAVA_OPTS -Djavax.net.ssl.trustStore=/etc/govway/keys/govway_https_truststore.jks -Djavax.net.ssl.trustStorePassword=changeit"