Newsgroup: it.comp.os.linux.software
Titolo: Tomcat ed SSL

ciao a tutti,
io avrei bisogno di far si che Tomcat accetti connessioni SSL e per far
questo ho letto la guida sul sito di Tomcat che dice di aggiungere un
Connector dentro il file server.xml. Io uso Tomcat 4.1 e come jdk ho
Blackdown 1.4 (che in teoria dovrebbe essere compatibile con quello
della sun). Il file server.xml l'ho modificato in questo modo:
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
               port="8443" minProcessors="5" maxProcessors="75"
               enableLookups="true"
               acceptCount="100" debug="0" scheme="https" secure="true"
               useURIValidationHack="false"
disableUploadTimeout="true">
               <Factory
className="org.apache.coyote.tomcat4.CoyoteServerSocketFactory"
               keystoreFile="/root/server.keystore"
               keystorePass="pippoKS"
               keystoreType="JKS"
               clientAuth="false" protocol="TLS" />
</Connector>
In quanto ho un jdk 1.4, non c'è bisogno di scaricare jsse (Java
Secure Socket Extension), dal sito della Sun. Ma io l'ho fatto lo
stesso, ed ho preso i 3 file che mi servono (jsse.jar, jcert.jar,
jnet.jar), e li ho buttati sotto tomcat/common/lib. Ma facendo delle
prove con o senza queste librerie ho constatato che non cambia nulla ed
il mio errore quando do il comando /tomcat/bin/sh catalina.sh run, è
sempre :
Using CATALINA_BASE:   /opt/jakarta-tomcat-4.1.31
Using CATALINA_HOME:   /opt/jakarta-tomcat-4.1.31
Using CATALINA_TMPDIR: /opt/jakarta-tomcat-4.1.31/temp
Using JAVA_HOME:       /opt/blackdown-jdk-1.4.2.01
May 5, 2005 2:34:42 PM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
May 5, 2005 2:34:42 PM org.apache.coyote.http11.Http11Protocol init
SEVERE: Error initializing endpoint
java.io.IOException: Cannot recover key
        at
org.apache.tomcat.util.net.jsse.JSSE14SocketFactory.init(JSSE14SocketFactory.java:127)
        at
org.apache.tomcat.util.net.jsse.JSSESocketFactory.createSocket(JSSESocketFactory.java:88)
        at
org.apache.tomcat.util.net.PoolTcpEndpoint.initEndpoint(PoolTcpEndpoint.java:259)
        at
org.apache.coyote.http11.Http11Protocol.init(Http11Protocol.java:137)
        at
org.apache.coyote.tomcat4.CoyoteConnector.initialize(CoyoteConnector.java:1238)
        at
org.apache.catalina.core.StandardService.initialize(StandardService.java:532)
        at
org.apache.catalina.core.StandardServer.initialize(StandardServer.java:2199)
        at
org.apache.catalina.startup.Catalina.start(Catalina.java:462)
        at
org.apache.catalina.startup.Catalina.execute(Catalina.java:350)
        at
org.apache.catalina.startup.Catalina.process(Catalina.java:129)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at
org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:156)
Catalina.start: LifecycleException:  Protocol handler initialization
failed: java.io.IOException: Cannot recover key
LifecycleException:  Protocol handler initialization failed:
java.io.IOException: Cannot recover key
        at
org.apache.coyote.tomcat4.CoyoteConnector.initialize(CoyoteConnector.java:1240)
        at
org.apache.catalina.core.StandardService.initialize(StandardService.java:532)
        at
org.apache.catalina.core.StandardServer.initialize(StandardServer.java:2199)
        at
org.apache.catalina.startup.Catalina.start(Catalina.java:462)
        at
org.apache.catalina.startup.Catalina.execute(Catalina.java:350)
        at
org.apache.catalina.startup.Catalina.process(Catalina.java:129)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at
org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:156)
Catalina.stop: LifecycleException:  This server has not yet been
started
LifecycleException:  This server has not yet been started
        at
org.apache.catalina.core.StandardServer.stop(StandardServer.java:2166)
        at
org.apache.catalina.startup.Catalina.start(Catalina.java:494)
        at
org.apache.catalina.startup.Catalina.execute(Catalina.java:350)
        at
org.apache.catalina.startup.Catalina.process(Catalina.java:129)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at
org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:156)
Qualche idea?

se può esserti utile:
http://kb.thawte.com/thawte/thawte/esupport.asp?id=vs17011
-- 
Davide Consonni
http://csvtosql.sf.net

 
INFINITE GRAZIE!!! Hai messo fine a 3 giorni di smadonnamenti!!! GRAZIE!!!
Ora però che tutto funziona potrei dire benissimo: "chissenefrega, 
funziona!?..!!!", ma il problema è che non capisco perchè sia la chiave 
che il "keystore" debbano avere la stessa password... Non sarà una 
specie di bug??? Mah! E' un mistero.
Ancora GRAZIE MILLE.
Ciao.
Marco.