Hello again, I simplified my example and tried to run a scenario similar to scenario 2 from http://wiki.jboss.org/wiki/Wiki.jsp?page=SSLSetup, but with my own client implementation. My code is SSLContext context; | KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType()); | KeyStore truststore = KeyStore.getInstance(KeyStore | .getDefaultType()); | char[] password = "123456".toCharArray(); | String keyStoreLocation = "META-INF/client.keystore"; | String trustStoreLocation = "META-INF/client.truststore"; | InputStream is = getClass().getResourceAsStream(keyStoreLocation); | keystore.load(is, password); | is = getClass().getResourceAsStream(trustStoreLocation); | truststore.load(is, password); | KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509"); | kmf.init(keystore, password); | TrustManagerFactory tmf = TrustManagerFactory | .getInstance("SunX509"); | tmf.init(truststore); | | context = SSLContext.getInstance("SSL"); | context.init(kmf.getKeyManagers(), tmf.getTrustManagers(), | new SecureRandom()); | HttpsURLConnection.setDefaultSSLSocketFactory(context | .getSocketFactory()); | HttpsURLConnection | .setDefaultHostnameVerifier(new HostnameVerifier() { | public boolean verify(String arg0, SSLSession arg1) { | return true; | } | }); | URL url = new URL("https://node3058.it.de:8443"); | URLConnection uc = url.openConnection(); | uc.connect(); | I use certificates created as described on the wiki page. I run my code once from a java standalone client and once from within an EJB running in JBoss. From the standalone client, everything runs fine, from within JBoss, I get the exception javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: No trusted certificate found | at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:150) | at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1476) | at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:174) | at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:168) | at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:847) | at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:106) | at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:495) | at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:433) | at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:815) | at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1025) | at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1038) | at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:405) | at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:170) | at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:133) | ... 84 more | Caused by: sun.security.validator.ValidatorException: No trusted certificate found | at sun.security.validator.SimpleValidator.buildTrustedChain(SimpleValidator.java:304) | at sun.security.validator.SimpleValidator.engineValidate(SimpleValidator.java:107) | at sun.security.validator.Validator.validate(Validator.java:203) | at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:172) | at com.sun.net.ssl.internal.ssl.JsseX509TrustManager.checkServerTrusted(SSLContextImpl.java:320) | at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:840) | ... 94 more
Can anyone tell me where the difference is between a ssl client in a standalone java application and a ssl client running in JBoss? Regards, Martin View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4008734#4008734 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4008734 _______________________________________________ jboss-user mailing list [email protected] https://lists.jboss.org/mailman/listinfo/jboss-user
