tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
1480
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Apr 2004
    Ort
    Ruhrgebiet
    Beiträge
    1.582
    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):

    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)
    Der entsprechende Abschnitt in der server.xml dazu sieht so aus:
    <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" />
    Ändere ich auf keystorePass="thestorepass", fliegt mir dieser Fehler um die Ohren:

    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)
    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.
    Hilfe!
     

  2. #2
    gorefest gorefest ist offline Mitglied Brokat
    Registriert seit
    Apr 2009
    Beiträge
    256
    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
     

  3. #3
    Avatar von Franz Degenhardt
    Franz Degenhardt Franz Degenhardt ist offline Mitglied Brokat
    Registriert seit
    Mar 2004
    Ort
    Köln
    Beiträge
    378
    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.html
    Geändert von Franz Degenhardt (23.07.10 um 12:22 Uhr)
     
    Denken gefärdet die Gewohnheit

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 15.10.09, 08:54
  2. Tomcat
    Von hadda im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 1
    Letzter Beitrag: 22.04.09, 15:08
  3. Tomcat
    Von alim27 im Forum Javascript & Ajax
    Antworten: 0
    Letzter Beitrag: 12.11.07, 10:56
  4. apache2 + tomcat mit mod_jk --> zugriff auf tomcat über apache2
    Von reweiss im Forum Hosting & Webserver
    Antworten: 0
    Letzter Beitrag: 16.10.07, 14:30
  5. Tomcat 6.0
    Von senay im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 7
    Letzter Beitrag: 30.07.07, 10:38

Stichworte