|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6019
|
TomCat e supporto SSL
Attualmente sto usando Tomcat 5 per la realizzazione di un Web Service. Il problema è che non mi riesce configurare Tomcat per supporrtare il protocollo di sicurezza SSL. NEl file server.xml ho aggiunto le seguenti righe:
<!-- Define a SSL HTTP/1.1 Connector on port 8443 --> <Connector className="org.apache.coyote.tomcat5.CoyoteConnector" port="8443" minProcessors="5" maxProcessors="75" enableLookups="true" disableUploadTimeout="true" acceptCount="100" debug="0" scheme="https" secure="true"> <Factory className= "org.apache.coyote.tomcat5.CoyoteServerSocketFactory" keystoreFile="C:\Documents and Settings\gabriele\keystore.jks" keystorePass="changeit" clientAuth="false" protocol="TLS" /> </Connector> Alcune le ho aggiunte, altre le ho scommentate.Ho letto che Tomcat legge i certificati con estensione .keystore, ma quando li creo con l'utility keytool di java essi hanno estensione jks. Non so se è questo il problema. Ho provato anche a creare il connettore HTTPS sulla porta 8443 con l'admin tool di Tomcat ma niente, quando lo riavvio, nel campo del pecorso del keystore mi viene null, lo stesso con la password. Il servizio, alla porta 8443 non parte. Nnn credo sia un problema di librerie java perchè ci sono tutte. Chi mi puo' dire qualcosa? |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
PEnso che tu abbia fatto un po' di casino tra la configurazione di tomcat 4 e tomcat 5.
Il connettore di default che utilizza tomcat 5 supporta anche SSL, per cui rimuovi la definizione della Factory. Tomcat legge i certificati (sarebbe meglio dire i keystore dei certificati) con qualunque estensione. ![]() |
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6019
|
Quote:
|
|
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
Quote:
il percorso specificalo con l'attributo "keystoreFile" nel tag Connector, la password con "keystorePass". |
|
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Feb 2003
Messaggi: 198
|
serve un aiutino del genere anche a me
ciao a tutti,
io avrei bisogno di far si che Tomcat accetti connessioni SSL e per far questo ho letto la guida e dice di aggiungere un Connector dentro il file server.xml. Ora questo file si trova in /etc/tomcat ed è accessibile solo da root; sono diventato root ed ho modificato il file in questione in questo modo: Codice:
<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> il mio errore quando do il comando /tomcat/bin/sh catalina.sh run, è sempre : Codice:
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)
__________________
"Solo dopo aver perso tutto, siamo liberi di fare qualsiasi cosa" Tyler Durden Ultima modifica di C4RD0Z4 : 05-05-2005 alle 13:59. |
![]() |
![]() |
![]() |
#6 |
Member
Iscritto dal: Feb 2003
Messaggi: 198
|
up!
__________________
"Solo dopo aver perso tutto, siamo liberi di fare qualsiasi cosa" Tyler Durden |
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6019
|
Quote:
|
|
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
Quote:
posta l'output del comando: keytool -list -v -keystore /root/server.keystore cmq ha ragione Unrue, apri un tuo thread ![]() |
|
![]() |
![]() |
![]() |
#9 |
Member
Iscritto dal: Feb 2003
Messaggi: 198
|
Codice:
Enter keystore password: pippoSTORE Keystore type: jks Keystore provider: SUN Your keystore contains 2 entries Alias name: tomcat Creation date: May 6, 2005 Entry type: trustedCertEntry Owner: CN="andrea cardelli ", OU=Unknown, O=antani, L=roma, ST=rm, C=italia Issuer: CN="andrea cardelli ", OU=Unknown, O=antani, L=roma, ST=rm, C=italia Serial number: 427ab9ca Valid from: Fri May 06 00:26:50 GMT 2005 until: Thu Aug 04 00:26:50 GMT 2005 Certificate fingerprints: MD5: 86:12:E6:ED:20:BD:2E:BC:54:62:D4:16:33:E7:5C:CE SHA1: F9:5A:60:3A:6D:06:CE:B2:C3:0B:D5:CE:0C:8C:8A:0B:D1:C3:4B:75 ******************************************* ******************************************* Alias name: server Creation date: May 6, 2005 Entry type: keyEntry Certificate chain length: 1 Certificate[1]: Owner: CN=marco cardelli, OU=Unknown, O=supercazzola, L=roma, ST=rm, C=italia Issuer: CN=marco cardelli, OU=Unknown, O=supercazzola, L=roma, ST=rm, C=italia Serial number: 427ab8c4 Valid from: Fri May 06 00:22:28 GMT 2005 until: Thu Aug 04 00:22:28 GMT 2005 Certificate fingerprints: MD5: 92:E0:F4:0A:4D:25:92:5D:23:E3:04:24:60:BC:CC:B7 SHA1: D8:27:5B:8C:8E:14:9D:C6:6E:CC:BA:5E:9D:D2:AE:70:7A:8D:83:2E ******************************************* *******************************************
__________________
"Solo dopo aver perso tutto, siamo liberi di fare qualsiasi cosa" Tyler Durden |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
penso che tomcat cerchi la chiave con l'alias "tomcat" ( e tra l'altro guardando nella documentazione non mi sembra esista il modo di specificare un altro alias) e nel tuo keystore per quell'alias non è presente la chiave privata.
rigeneralo con keytool -genkey -alias tomcat -keyalg RSA -keystore /root/server.keystore |
![]() |
![]() |
![]() |
#11 |
Member
Iscritto dal: Feb 2003
Messaggi: 198
|
ho cercato aiuto anche da altre parti, ed ho risolto assegnando sia al keystore, che alla chiave contenuta in esso la stessa password
![]()
__________________
"Solo dopo aver perso tutto, siamo liberi di fare qualsiasi cosa" Tyler Durden |
![]() |
![]() |
![]() |
#12 | |
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
Quote:
giusto alla chiave deve accedere per forza e se ha una password diversa da quella del keystore non ha maniera di aprirla. |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:03.