SSL w Tomcat 5.5

Tomcat
URL:
Technologia:

Szukałem, szukałem i …. nie znalazłem sensownego opisu jak uruchomić szyfrowane połączenie w Tomcat. Postanowiłem więc w przypływie złości (która notabene świadczy o niezaspokojonej potrzebie) sam napisać tutorial. Tutorial podzieliłem na 2 części. Część pierwsza to uruchomienie połączenia szyfrowanego certyfikatem własnym a część druga to certyfikatem wystawcy, który importujemy z serwera Apache.

I. CERTYFIKAT WŁASNY

przechodzimy do katalogu gdzie znajdują się pliki konfiguracyjne Tomcat:

cd /etc/tomcat5/

tutaj tworzymy sobie katalog SSL

mkdir ssl

wchodzimy do katalogu

cd ssl

i wydajemy komendę:

keytool -genkey -alias tomcat -keyalg RSA -keystore keystore.key

w ten sposób zostanie utworzony plik keystore.key

Utworzenie pliku wiąże się z udzieleniem odpowiedzi na konkretne pytania:

Pytanie wyjaśnienie przykład
Password Należy podać hasło do pliku keystore haselko
What is your first and last name? Imię i nazwisko; tutaj najlepiej podać nazwę domeny informatyka.firma.pl
What is the name of your organizational unit? Nazwa działu firmy dzial informatyki
What is the name of your organization? Nazwa firmy Have a Nice Day
What is the name of your City or Locality? Nazwa miasta/lokalizacji twojej firmy Reda
What is the name of your State or Province? Nazwa województwa pomorskie
What is the two-letter country code for this unit? Dwu literowy kod kraju PL
Is XXX correct ? Należy potwierdzić prawidłowość danych y [enter]
Enter key password for Należy podać hasło dla aliasu lub przypisać to samo co podane dla pliku keystore [enter]

w katalogu /etc/tomcat5/ssl pojawi się plik keystore.key

Konfiguracja pliku server.xml.

1. Otwórz plik server.xml w edytorze tekstowym

2. Odkomentuj konektor dla połączenia szyfrowanego SSL

3. Dodaj (jeżeli nie ma) poniższe atrybuty:

keystoreFile=sciezka do pliku keystore keystorePass=hasło pliku keystore

Konektor może wyglądać następująco:

Connector port=”8443″ maxHttpHeaderSize=”8192″

keystoreFile=”/etc/tomcat5/ssl/keystore.key”

keystorePass=”haselko”

sslenabled=”true” schema=”https”

secure=”true” clientAuth=”false”

maxThreads=”150″ minSpareThreads=”25″

maxSpareThreads=”75″ enableLookups=”false”

disableUploadTimeout=”true” acceptCount=”100″

sslProtocol=”SSL”

4. Restart servera Tomcat:

service tomcat5 restart

II. IMPORT CERTYFIKATU Z SERWERA APACHE

Aby przenieść certyfikat z serwera Apache do Tomcat należy:

1. Zmienić format certyfikatu serwera Apache na Tomcat 5.x poprzez komendę:

openssl pkcs12 -export -in YourSSLCert.crt -inkey YourPrivateKey.key -out mycert.p12 -name tomcat -CAfile YourIntermediateCertificate.cer -caname root -chain

YourIntermediateCertificate.cer to główny certyfikat dostawcy CA który można sciągnąć ze strony (dla Thawte) https://www.thawte.com/roots/

YourSSLCert.crt to plik zawierający Twój certyfikat domeny

YourPrivateKey.key to klucz prywatny wygenerowany dla domeny

Wyeksportowany plik keystore będzie miał nazwę ‘mydomaincert.p12′

Konfiguracja Tomcat do użycia pliku mydomaincert.p12

1. Otwórz plik server.xml w edytorze tekstowym

2. Odkomentuj konektor SSL

3. Dodaj poniższe atrybuty:

keystoreFile=sciezka_do_pliku_mydomaincert.p12 keystorePass=haslo_pliku

keystoreType=PKCS12

4. Zrestartuj serwer Tomcat

service tomcat5 restart