sabato 23 novembre 2013

Tomcat 7 settare connessione HTTPS

In questo post vediamo come:
  1. Creare un certificato per l'https;
  2. Visionare le caratteristiche del certificato;
  3. Configurare Tomcat 7 in modo da poter rispondere in https.
CREARE UN CERTIFICATO PER L'HTTPS

 Per effettuare questa operazione si utilizza la JDK 1.6, in particolare il programma keytool.
L'opzione -keystore consente di specificare dove creare il file. Attenzione è obbligatorio specificare un nome di file; va bene anche se non esistente, l'importante è che non sia  una directory la procedura va in errore dicendo "Errore keytool: java.lang.Exception: Il file keystore esiste ma Þ vuoto: c:\lav\certificati"

Da cmd:

C:\lav\ApplicationServers\apache-tomcat-7.0.23\bin>keytool -genkey -alias carlo
-keyalg RSA -keystore c:\lav\certificati\certificato.txt
Immettere la password del keystore:
Immettere nuovamente la nuova password:
Specificare nome e cognome
 [Unknown]:  MARIO BREGA
Specificare il nome dell'unitÓ aziendale
 [Unknown]:  AZIENDA ABC
Specificare il nome dell'azienda
 [Unknown]:  AZIENDA TEST
Specificare la localitÓ
 [Unknown]:  ROMA
Specificare la provincia
 [Unknown]:  RM
Specificare il codice a due lettere del paese in cui si trova l'unitÓ
 [Unknown]:  IT
Il dato CN=MARIO BREGA, OU=AZIENDA ABC, O=AZIENDA TEST, L=ROMA, ST=RM, C=IT Þ co
rretto?
 [no]:  s

Immettere la password della chiave per <carlo>
        (INVIO se corrisponde alla password del keystore):


VISIONARE LE CARATTERISTICHE DEL CERTIFICATO

Sempre utilizzando la keytool con l'opzione -list e specificando il keystore è possibile visionare le caratteristiche del certificato appena creato:


C:\lav\ApplicationServers\apache-tomcat-7.0.23\bin>keytool -list -keystore c:\la
v\certificati\certificato.txt
Immettere la password del keystore:

Tipo keystore: JKS
Provider keystore: SUN

Il keystore contiene 1 entry

carlo, 23-nov-2013, PrivateKeyEntry,
Impronta digitale certificato (MD5): F5:F9:15:AB:98:31:2D:19:C3:65:5C:EF:EA:7E:4
8:B1


CONFIGURARE TOMCAT7 IN HTTPS

Per configurare Tomcat7 in modo da essere raggiungibile in HTTPS con il certificato appena creato è sufficiente agire sul file server.xml presente nella directory conf dell'application server.
Bisogna scommentare il nodo Connector dove troviamo il commento:
Define a SSL HTTP/1.1 Connector on port 8443 e modificarlo nel nostro caso così:

 <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" keystorePass="xxxx" keystoreFile="c:\lav\certificati\certificato.txt "
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" />


aggiungendo le opzioni keystoreFile e keystorePass.

Per testare il tutto è sufficiente andare via browser all'indirizzo https://localhost:8443. Il certificato ovviamente non è trusted e quindi dovremmo aggiungere una eccezione di sicurezza al browser per accettarlo.

Nessun commento:

Posta un commento