mercoledì 27 dicembre 2006

HTTPS su JBoss 4.0.x

Ispirazione: vedere qui
Scenario: application server Jboss 4.0.x che deve abilitare l'autenticazione dei client mediante SSL, e quindi con certificati digitali.
Il certificato del server con la relativa chiave privata sono protetti su file cifrato PKCS#12 (supponiamo il file /home/user/servercert.p12).
La modifica della configurazione avviene sul motore di Jboss 4.0.x, un buon vecchio Tomcat!
Copiare /home/user/servercert.p12 in /server/default/conf/.
Aprire quindi con un editor di testi il file /server/default/deploy/jbossweb-tomcatxx.sar/server.xml

de-commentare le linee:


<Connector port="8443" address="${jboss.bind.address}"
maxThreads="100" strategy="ms" maxHttpHeaderSize="8192"
emptySessionPath="true"
scheme="https" secure="true" clientAuth="false"
keystoreFile="${jboss.server.home.dir}/conf/chap8.keystore"
keystorePass="rmi+ssl" sslProtocol = "TLS" />



e quindi modificare i parametri evidenziati sopra in neretto:

  • Connector Port, specificando il numero di porta preferito per le connessioni https,
  • keystoreFile, sostituendo a chap8.keystore il nome del file pkcs#12 servercert.p12,
  • keystorePass, indicando la password di decifratura del file PKCS#12.
Dato che l'ambiente Java non supporta nativamente il formato PKCS#12 per i Keystore, ma il "proprietario" JKS (Java KeyStore), aggiungere per precauzione un'ulteriore opzione:
  • keystoreType="PKCS12"
E' quindi possibile lanciare Jboss e provare la connessione sulla porta 8443, o quella indicata in Connector Port, in https.

Eventi a cui partecipo