Quando viene installato un certificato SSL su di un server in cui è presente JBoss, si devono eseguire i seguenti passi per la configurazione di Tomcat dentro l'application server.
- Creare la chiave del server con il seguente comando :
keytool -genkey -alias <keyalias> -keypass <yourpassword> -keyalg RSA -keysize 1024 -dname "CN=<commonname>,O=<organizationName>,OU=<organizationUnitName>,C=<countryName>" -keystore server.keystore -storepass <yourpassword>
dove :
<keyalias> è il valore dell'attributo keyalias che troviamo nel file server.xml ( dentro la directory {jboss_home_dir}/server/default/deploy/jbossweb-tomcat55.sar )<Connector className="org.apache.catalina.connector.http.HttpConnector"
maxThreads="100" strategy="ms"
maxHttpHeaderSize="8192" emptySessionPath="true" scheme="https" secure="true" clientAuth="false" keystoreFile="${jboss.server.home.dir}/conf/server.keystore" keystorePass="mypassword" sslProtocol = "TLS" keyAlias="mykeyalias" /><companyName> es. www.youserver.it <organizationName> <organizationUnitName> <countryName> es. IT <yourpassword> es. mypassword
ESEMPIO:
keytool -genkey -alias mykeyalias -keypass mypassword -keyalg RSA -keysize 1024 -dname "CN=www.myserver.it,O=GARR,OU=UNIPI,OU=CED,C=IT" -keystore server.keystore -storepass mypassword Copiare il file server.keystore, generato sopra, nella cartella {jboss home dir}/server/default/conf/
Certificare la chiave con il certificato CA, attraverso il seguente comando :
keytool -certreq -keystore server.keystore -alias mykeyalias -file mycert.pem
Quando JBoss non è opportunamente configurato dopo l'installazione del certificato SSL , in fase di avvio dell'application server viene rilevata la seguente eccezione:
java.io.IOException: Keystore was tampered with, or password was incorrect
Questo avviene se:
- il file server.keystore non è stato ancora generato
- il file server.keystore è stato manomesso
- dentro il file server.xml (di cui sopra) la voce Connector è commentata
- dentro il file server.xml (di cui sopra), alla voce Connector i valori degli attributi (es. keyalias o keystorepass)
Fonti:
- http://cybertrust.omniroot.com/support/codesigning/codesign_sunjava.cfm
- http://www.theserverside.com/discussions/thread.tss?thread_id=22243
- http://jack.godau.googlepages.com/jbosscertificatesandopenssl