import com.sun.jersey.api.client.Client; import com.sun.jersey.api.client.config.ClientConfig; import com.sun.jersey.api.client.config.DefaultClientConfig; import javax.net.ssl.SSLContext; import javax.net.ssl.TrustManager; import javax.net.ssl.TrustManagerFactory; import java.security.KeyStore; ... private void setupSSL(ClientConfig clientConfig) { try { //Pokud se použije starší: //SSLContext.getInstance("SSL"); //muže to skončit na chybe pri handshake SSLContext ctx = SSLContext.getInstance("TLS"); KeyStore ks = KeyStore.getInstance("JKS"); //Nacteni z filu //ks.load(new FileInputStream("d:/tmp7/clientstore"), "KeystorePassword".toCharArray()); //nacteni z classpathy URL clientStore = getClass().getResource("/path/to/store/clientstore"); ks.load(clientStore.openStream(), "KeystorePassword".toCharArray()); //kdyz se pouzije //TrustManagerFactory.getInstance("SunX509", "SunJSSE"); //Tak to nepojede na IBM jave, protože ta ma IbmX509 a ne SunX509 //Naštěstí tohle funguje na obou. On uz si to dohleda: TrustManagerFactory tmf = TrustManagerFactory.getInstance("X509"); tmf.init(ks); TrustManager tms[] = tmf.getTrustManagers(); ctx.init(null, tms, null); clientConfig.getProperties().put(HTTPSProperties.PROPERTY_HTTPS_PROPERTIES, new HTTPSProperties(null, ctx)); } catch (Exception ex) { throw new RuntimeException("Ssl setup failed", ex); } } ... ClientConfig clientConfig = new DefaultClientConfig(); client = Client.create(clientConfig);
pondělí 21. listopadu 2011
Java - SSL for Jersey Client
Programové nastavení SSL na Jersey
Přihlásit se k odběru:
Komentáře k příspěvku (Atom)
Žádné komentáře:
Okomentovat