Dne 14.12.2010 07:57, Tomas Vojtech napsal(a):
Ahoj,

v některých aplikacích chceme mít možnost reloadu truststoru za běhu aplikace 
bez restartu tomcata. Podle toho co jsem našel by to mělo jít implementací 
vlastního X509TrustManager. Zatím jsem ale
nepřišel na to jak JVM říct, aby ho používala.

Máte s tím někdo zkušenosti? Budu rád za každý tip.

Ahoj,

používaný TrustManager není záležitostí JVM, ale konkrétní třídy.

Třeba pro *klientská* HTTPS spojení zajišťovaná třídou HttpsURLConnection
se dá nastavit vlastní TrustManager pomocí

TrustManager[] trustManagers = new TrustManager[] { myTrustManager };
SSLContext sctx = SSLContext.getInstance("TLS");
sctx.init(null, trustManagers, null);
SSLSocketFactory sf = sctx.getSocketFactory();
HttpsURLConnection.setDefaultSSLSocketFactory(sf);


Takže pokud je potřeba nastavit vlastní TrustManager Tomcatu, je třeba
zjistit, jak Tomcatímu Connectoru podstrčit vlastní implementaci
SSLSocketFactory. Z toho co jsem vygoogloval to vypadá,
že v server.xml se dá v tagu <Connector> nastavit


<Connector ... SSLImplementation="cz.moje.SSLimplementace">

aspoň podle 
http://anil-identity.blogspot.com/2007/10/tip-9-change-ssl-implementation-in.html

Podivné ale je, že v referenční dokumentaci pro Tomcat 6.0 na
http://tomcat.apache.org/tomcat-6.0-doc/config/http.html#SSL_Support
tenhle atribut popsán není, je jen v dokumentaci pro Tomcat 3.0 na
http://tomcat.apache.org/tomcat-3.3-doc/tomcat-ssl-howto.html

Popravdě řečeno, nikdy jsem SSL přímo v Tomcatu nepoužíval, vždycky jsem
před Tomcat postavil Apache s mod_ssl a pomocí mod_jk přeposílal
requesty Tomcatu. (Používám mod_jk místo mod_proxy_ajp proto,
že mod_jk umí poslat DN certifikátu vytvořené OpenSSL, kdežto mod_proxy_ajp to 
neumí.)
A mod_ssl si seznam CA kontroluje, aspoň si to myslím, při každém SSL handshake.

Makub
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Supercomputing Center Brno             Martin Kuba
Institute of Computer Science    email: ma...@ics.muni.cz
Masaryk University             http://www.ics.muni.cz/~makub/
Botanicka 68a, 60200 Brno, CZ     mobil: +420-603-533775
--------------------------------------------------------------

Odpovedet emailem