ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
1480
1480
EMPFEHLEN
-
Hallo zusammen,
nachdem meine Verzweiflung immer größer wird, benötige ich wohl Hilfe.
Ich möchte einfach nur den Tomcat 6 mit SSL versorgen. Dazu führte ich aus:
c:\Dokumente und Einstellungen\MyLogin\Eigene Dateien>c:\jdk1.6.0_13\bin\keytool.exe -genkey -v -keyalg RSA -alias testal
ias1 -keypass thekeypass -storepass thestorepass -dname "CN=TestCompany, OU=-, O=-, L=Munich, S=Bayern, C=DE" -keystore
testkeystore.jks
c:\Dokumente und Einstellungen\MyLogin\Eigene Dateien>c:\jdk1.6.0_13\bin\keytool.exe -export -alias testalias1 -storepass thestorepass -file server.cer -keystore testkeystore.jks
Nach Kopieren der Dateien testkeystore.jks und server.cer ins Benutzerverzeichnis
c:\Dokumente und Einstellungen\MyLogin\
bekomme ich diese Fehlermeldung beim Starten des Tomcat 6.0.26 (in Netbeans 6.9 im Debugmode):
Der entsprechende Abschnitt in der server.xml dazu sieht so aus:Using CATALINA_BASE: "C:\Dokumente und Einstellungen\MyLogin\.netbeans\6.9\apache-tomcat-6.0.26_base"
Using CATALINA_HOME: "C:\Programme\Apache Software Foundation\Apache Tomcat 6.0.26"
Using CATALINA_TMPDIR: "C:\Dokumente und Einstellungen\MyLogin\.netbeans\6.9\apache-tomcat-6.0.26_base\temp"
Using JRE_HOME: "C:\jdk1.6.0_13"
Using CLASSPATH: "C:\Programme\Apache Software Foundation\Apache Tomcat 6.0.26\bin\bootstrap.jar"
Listening for transport dt_shmem at address: tomcat_shared_memory_id
13.07.2010 13:13:52 org.apache.catalina.core.AprLifecycleListener init
INFO: Loaded APR based Apache Tomcat Native library 1.1.20.
13.07.2010 13:13:52 org.apache.catalina.core.AprLifecycleListener init
INFO: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
13.07.2010 13:13:52 org.apache.coyote.http11.Http11AprProtocol init
INFO: Initializing Coyote HTTP/1.1 on http-8084
13.07.2010 13:13:52 org.apache.coyote.http11.Http11NioProtocol init
SCHWERWIEGEND: Error initializing endpoint
java.io.IOException: Keystore was tampered with, or password was incorrect
at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:771)
at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:38)
at java.security.KeyStore.load(KeyStore.java:1185)
Ändere ich auf keystorePass="thestorepass", fliegt mir dieser Fehler um die Ohren:<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
keystoreFile="${user.home}/testkeystore.jks" keystorePass="thekeypass"
clientAuth="false" sslProtocol="TLS" />
Was mache ich falsch, wo liegt der Fehler? Mir ist auch die Bedeutung von keystorepass (in der server.xml), storepass und keypass überhaupt nicht klar.Using CATALINA_BASE: "C:\Dokumente und Einstellungen\MyLogin\.netbeans\6.9\apache-tomcat-6.0.26_base"
Using CATALINA_HOME: "C:\Programme\Apache Software Foundation\Apache Tomcat 6.0.26"
Using CATALINA_TMPDIR: "C:\Dokumente und Einstellungen\MyLogin\.netbeans\6.9\apache-tomcat-6.0.26_base\temp"
Using JRE_HOME: "C:\jdk1.6.0_13"
Using CLASSPATH: "C:\Programme\Apache Software Foundation\Apache Tomcat 6.0.26\bin\bootstrap.jar"
Listening for transport dt_shmem at address: tomcat_shared_memory_id
13.07.2010 13:30:51 org.apache.catalina.core.AprLifecycleListener init
INFO: Loaded APR based Apache Tomcat Native library 1.1.20.
13.07.2010 13:30:51 org.apache.catalina.core.AprLifecycleListener init
INFO: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
13.07.2010 13:30:52 org.apache.coyote.http11.Http11AprProtocol init
INFO: Initializing Coyote HTTP/1.1 on http-8084
13.07.2010 13:30:52 org.apache.coyote.http11.Http11NioProtocol init
SCHWERWIEGEND: Error initializing endpoint
java.security.UnrecoverableKeyException: Cannot recover key
at sun.security.provider.KeyProtector.recover(KeyProtector.java:311)
at sun.security.provider.JavaKeyStore.engineGetKey(JavaKeyStore.java:121)
at sun.security.provider.JavaKeyStore$JKS.engineGetKey(JavaKeyStore.java:38)
at java.security.KeyStore.getKey(KeyStore.java:763)
Hilfe!

-
Hi,
da man normalerweise einen Tomcat oder einen JBoss in der Produktion nicht im Tier 1 laufen lässt, sondern beispielsweise einen Apache davorsetzt, würde ich Dir empfehlen, den Tomcat so zu lassen und da einen Apache als SSL-Terminierer davorvozusetzen und per mod_ajp anzubinden. Das birgt den Vorteil, dass dein Tomcat besser geschützt ist und Du vor allem Dir nicht die Mühe machen musst, den TC umzukonfigurieren.
Grüße
gore
-
23.07.10 12:15 #3
Hallo,
vermutlich fehlt nur wenig bei dir.
Der Parameter keyAlias ist wichtig, das ist die Referenz auf den Aliasnamen des zu verwendenden Zertifikats im keystore, wo noch mehr Zertifikate liegen könnten.
Bau das keyAlias mal ein und schau was passiert.
Code :1
<Connector port="443" ... keyAlias="testal" ... />
storepass - Passwort für den gesamten Keystore, braucht man um überhaupt dort hineinschauen zu dürfen
keypass - Passwort für das Schlüsselpaar, braucht man um auf den privaten Teil des Schlüsselpaares zugreifen zu können.
edit: hier steht viel dazu http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.htmlGeändert von Franz Degenhardt (23.07.10 um 12:22 Uhr)
Denken gefärdet die Gewohnheit
Ähnliche Themen
-
Tomcat : Was bringt die "APR based Apache Tomcat Native library"?
Von Sentoo im Forum Hosting & WebserverAntworten: 0Letzter Beitrag: 15.10.09, 08:54 -
Tomcat
Von hadda im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 1Letzter Beitrag: 22.04.09, 15:08 -
Tomcat
Von alim27 im Forum Javascript & AjaxAntworten: 0Letzter Beitrag: 12.11.07, 10:56 -
apache2 + tomcat mit mod_jk --> zugriff auf tomcat über apache2
Von reweiss im Forum Hosting & WebserverAntworten: 0Letzter Beitrag: 16.10.07, 14:30 -
Tomcat 6.0
Von senay im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 7Letzter Beitrag: 30.07.07, 10:38





Zitieren
Login





