Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Enable SSL on Tomcat

[es] :: Java :: Enable SSL on Tomcat

[ Pregleda: 1688 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

vula

Član broj: 119166
Poruke: 119
*.teol.net.



Profil

icon Enable SSL on Tomcat30.11.2008. u 14:17 - pre 187 meseci
Koristim Tomcat 6 i JDK 6 i ne mogu da ukljucim https?

O cemu se radi?! Sta sam slucajno provalio... Mozda neko zna pa da i ne cita dalje...
Tomcat uopste ne slusa 8443. A slusa 8080 i 8005. A zasto nije mi jasno?!

-netstat:
Code:
  Proto  Local Address          Foreign Address        State
  TCP    notebook:epmap         notebook:0             LISTENING
  TCP    notebook:microsoft-ds  notebook:0             LISTENING
  TCP    notebook:3306          notebook:0             LISTENING
  TCP    notebook:5800          notebook:0             LISTENING
  TCP    notebook:5900          notebook:0             LISTENING
  TCP    notebook:8080          notebook:0             LISTENING
  TCP    notebook:1029          notebook:0             LISTENING
  TCP    notebook:5152          notebook:0             LISTENING
  TCP    notebook:8005          notebook:0             LISTENING
  TCP    notebook:30606         notebook:0             LISTENING
  TCP    notebook:netbios-ssn   notebook:0             LISTENING

Sta sam ja uradio? (kopirani tekst iz konzole)

- podesio kljuc odnosno keystore (nisam koristio default keystore nego svoj):
C:\Program Files\Java\jdk1.6.0_10\bin>keytool -genkey -alias tomcat -keypass adminadmin -keyalg RSA -keystore tomcat.jks -storepass adminadmin
- eksportovao sertifikat u tomcat.crt:
C:\Program Files\Java\jdk1.6.0_10\bin>keytool -export -alias tomcat -file tomcat.crt -keystore tomcat.jks
Certificate stored in file <tomcat.crt>

- importovao sertifikat u jvm:
-probao:
C:\Program Files\Java\jdk1.6.0_10\bin>keytool -import -file server.crt -keystore %java_home%/jre/lib/security/cacerts -storepass changeit
- izbacivalo gresku: keytool error: java.lang.RuntimeException: Usage error, Files\Java\jdk1.6.0_10/jre/lib/security/cacerts is not a legal command
- hajde rekoh, mozda ima neki trip sa crtama (nema logike ali hajde) pa probao:
C:\Program Files\Java\jdk1.6.0_10\bin>keytool -import -file server.crt -keystore %java_home%\jre\lib\security\cacerts -storepass changeit
- izbacivalo istu gresku
- hmmm... brute force! :)
- prebacio jvm truststore (cacerts) u isti direktorijum sa crt i sa kytool (C:\Program Files\Java\jdk1.6.0_10\bin)
- uradio:
C:\Program Files\Java\jdk1.6.0_10\bin>keytool -import -alias tomcat -file tomcat.crt -keystore cacerts -storepass changeit
Trust this certificate? [no]: y
Certificate was added to keystore

- vratio u direktorijum C:\Program Files\Java\jdk1.6.0_10\jre\lib\security fajl cacerts.
- ODkomentarisao podesavanja server.xml Tomcata u direktorijumu C:\apache-tomcat-6.0.18\conf:
Code:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" />

- uradio: https://localhost:8443/
- dobio: Page Load Error (logicno) x(
- pobudalio
- probao zaobilaznu varijantu:
C:\Program Files\Java\jdk1.6.0_10\bin>keytool -genkey -alias tomcat -keypass adminadmin -keyalg RSA -keystore tomcat.jks -storepass adminadmin
- ubacio taj fajl (tomcat.jks) u direktorijum conf Tomcata (C:\apache-tomcat-6.0.18\conf)
- dodao podesavanja u server.xml:
Code:
    <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" 
               keystoreFile="../conf/tomcat.jks"
               keystorePass="adminadmin" />

- uradio https://localhost:8443/
- dobio: Page Load Error (logicno) x(
- ponovo pobudalio

Znaci ili sam konj glupi i nesto sam zeznuo ili ovo nemere bez kabla?! :)
 
Odgovor na temu

vula

Član broj: 119166
Poruke: 119
*.teol.net.



Profil

icon Re: Enable SSL on Tomcat01.12.2008. u 06:43 - pre 187 meseci
Huh, rijesio... Svima koji budu imali problem evo kako se iskobeljah...
- Najprije sam reinstalirao Tomcat ali ovaj put nisam koristio Windows Installer nego zip. Znaci uradio uninstall, raspakovao novi, povezao sa Eclipse (jer mi je to najvaznije da radi)... E sada, ako ste, kao ja, imali vec Tomcat tu se desi neki trip sa Tomcatovim monitorom, pa ne mogu da ga stavim u try pa da ga onda fino odatle startujem. Kad probam da pokrenem monitor (%TOMCAT_HOME%\bin\tomcat6w.exe) prijavljuje: The specified service doesnot exists as an installed service. Unable to open the service 'Tomcat6'. Vjerovatno zato sto sam ga raspakovao pa cu morati da cackam nesto po njemu i/ili po registry. Ima nekih uputstava, nebitno, Tomcat radi na startup (%TOMCAT_HOME%\bin\startup.bat)...
- Zatim sam vratio default jvm truststore (Nadjite svoj jre, moj je C:\Program Files\Java\jre6\ a truststore je C:\Program Files\Java\jre6\lib\security\cacerts). Mozete na dva nacina, jedan je da obrisete sve alijase koje ste dodali u cacerts sa: keytool -delete -alias (hepek) -keystore cacerts -storepass changeit (napomena: default password za truststore je changeit a keytool je uvijek u %JAVA_HOME%\bin) a drugi je jednostavniji, prije nego sto ubacite neki alijas u jvm truststore sacuvate taj fajl (C:\Program Files\Java\jre6\lib\security\cacerts) na neko drugo mjesto i sada ako hocete da vratite dafault prelijepite ga, ne znam da li ova zaobilazna metoda radi, ja sam koristio ovu programersku. :)
- A zatim, kada sam bio siguran da mi je sve na default, uradio kombinaciju one zaobilazne metode i one pune iz prethodnog posta:
- Prebacio cacerts iz njegovog home direktorijuma (C:\Program Files\Java\jre6\lib\security\cacerts) u %JAVA_HOME%\bin (da mi bude gdje mi je keytool).
- Obavio sve peripetije sa mojim kljucem, sertifikatom i njegovim ubacivanjem u truststore:
C:\Program Files\Java\jdk1.6.0_10\bin>keytool -genkey -alias tomcat -keypass adminadmin -keyalg RSA -keystore tomcat.jks -storepass adminadmin
C:\Program Files\Java\jdk1.6.0_10\bin>keytool -export -alias tomcat -keystore tomcat.jks -keypass adminadmin -file tomcat.crt -storepass adminadmin
C:\Program Files\Java\jdk1.6.0_10\bin>keytool -import -alias tomcat -file tomcat.crt -keypass adminadmin -keystore cacerts -storepass changeit
(Da provjerite da li se hepekir'o: keytool -list -keystore cacerts -storepass changeit (ovo izlista sve), a samo jedan, vas: keytool -list -alias tomcat -keystore cacerts -storepass changeit , vidjecete da pored njegovog naziva stoji trustedCertEntry, to se super, zbilja. :))
- Vratio cacerts iz bin na njegovo mjesto, u C:\Program Files\Java\jre6\lib\security\cacerts.
- Ubacio u conf direktorijum Tomcata tomcat.jks (moze i u neki drugi samo paziti na podesavanja u server.xml)
- ODkomentarisao u server.xml Tomcata (C:\apache-tomcat-6.0.18\conf\server.xml) dio: Define a SSL HTTP/1.1 Connector on port 8443, bla, bla... (Tacnije ne taj dio, to je komentar nego dio koji pocinje od: <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true", bla bla...)
- Dodao dvije linije u taj tag: keystoreFile="/conf/tomcat.jks" keystorePass="adminadmin". (Zatvoriti tag, naravno, sa />.)
- Startovao Tomcat i sto bi doktor Frankenstajn rekao kada je stvorio svoje cudoviste: It Lives! :)
- Odete na https://localhost:8443/tomcat.gif i ono macka...
Napomena je da se u svoj toj prici Firefox nesto lose istripuje pa izbacuje Secure Connection Failed, The certificate is not trusted because it is self signed. Lafo moj sertifikat je samopotpisan a za jvm truststore je ok?! U IE radi, vjerovatno treba da nesto cackam u Firefox podesavanjima, skontacu, bas me briga sada, ovo radi... :)
 
Odgovor na temu

[es] :: Java :: Enable SSL on Tomcat

[ Pregleda: 1688 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.