Configurare HTTPS con Tomcat 5 sotto Fedora 13
In questo howto si trovano indicazioni utili per configurare l'uso del protocollo HTTPS con il server Tomcat 5 sotto la distribuzione Linux Fedora 13.
Ovviamente sia la JVM, sia Tomcat diamo per scontato siano già installati ;-)
Nella mia installazione utilizzo la JVM di Sun (oops! OK, ormai dovrei dire di Oracle, ma ancora mi fa venire i brividi), non quella GNU.
Se si usa la JVM GNU occorre installare anche il pacchetto JSSE, relativo alla sicurezza.
Dovrebbe già essere presente se si usa Java SE di Oracle (brrr), altrimenti dovrebbe bastare digitare:
# yum install -y jsse
Per attivare HTTPS su Tomcat è necessario creare un certificato. Di solito si acquista dalle Certification Authority, ma se quello che ci serve è solo creare una comunicazione sicura tra il browser e Tomcat, o dobbiamo solo mettere in piedi un ambiente per lo sviluppo, possiamo anche crearcene uno noi. Un tool che permette di creare un certificato lo possiamo trovare dentro il direttorio bin del nostro JDK. Si tratta di keytool, con cui si può creare un certificato da shell. Ammettendo che il vostro JDK sia stato installato sotto /usr/java:
# /usr/java/jdk1.6.0_21/bin/keytool -genkey -alias tomcat -keyalg RSA
Verranno richieste delle password, noi usiamo la stessa per entrambi, che sarà "dacambiare". In seguito dovremo anche scriverla nel file di configurazione di Tomcat (server.xml).
Una volta creato il certificato, nella home di root troveremo il file .keystore. Il file deve essere copiato nella home di Tomcat 5, dentro il direttorio conf (/usr/share/tomcat5/conf/).
# cp /root/.keystore /usr/share/tomcat5/conf
Ora modifichiamo il file server.xml (si trova sempre dentro /usr/share/tomcat5/conf):
<!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
<Connector className="org.apache.coyote.tomcat5.CoyoteConnect or"
port="8443" minProcessors="5" maxProcessors="75"
enableLookups="true" disableUploadTimeout="true"
acceptCount="100" debug="0" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="/usr/share/tomcat5/conf/.keystore"
keystorePass="dacambiare" />
Ora dovremmo esserci, riavviamo il server tomcat.
# service tomcat5 restart
Una volta ripartito Tomcat, con il browser apriamo https://localhost:8443 e se tutto è andato bene dovremmo vedere la schermata che ci chiede di convalidare il certificato (se l'abbiamo "fatto a mano" con keytool.
Documentazione di Tomcat: http://tomcat.apache.org/tomcat-5.5-doc/index.html
Installazione della JVM non GNU sotto Fedora 13: http://www.mjmwired.net/resources/mjm-fedora-f13.html#java
Ultimo aggiornamento (Mercoledì 13 Ottobre 2010 11:01)


