Hide Forgot
Description of problem: Using an IBM JDK, if you invoke a SSL secured webservice after setting the truststore, you get the following exception when trying to ceate java.io.IOException: Error initializing socket factory SSL context: SunX509 KeyManagerFactory not available sun.security.jca.GetInstance.getInstance(GetInstance.java:171) javax.net.ssl.KeyManagerFactory.getInstance(KeyManagerFactory.java:10) org.jboss.remoting.security.SSLSocketBuilder.loadKeyManagers(SSLSocketBuilder.java:1501) org.jboss.remoting.security.SSLSocketBuilder.initializeSocketFactorySSLContext(SSLSocketBuilder.java:1334) Caused by DEFAULT_KEY_STORE_ALGORITHM in SSLSocketBuilder being SunX509. The default keystore algorithm should be determined with TrustStoreFactory.getDefaultAlgorithm(). Version-Release number of selected component (if applicable): JBoss 5.2.0 How reproducible: Easy Steps to Reproduce: 1. Create a servlet that invokes a web service client after setting the truststore. For example, HelloWorldService port = new HelloWorldService_Service().getHelloWorld(); BindingProvider bp = (BindingProvider)port; bp.getRequestContext().put("org.jboss.ws.keyStore", "/path/to/keystore.jks"); port.sayHello(); 2. Setup JBoss on IBM JDK and deploy servlet 3. Invoke serlvet Actual results: Above exception Expected results: Success using IbmX509. Additional info:
Created attachment 823014 [details] example servlet