Bug 1029544 - Getting "SunX509 KeyManagerFactory not available" when trying to call a SSL secured web service on IBM JDK
Summary: Getting "SunX509 KeyManagerFactory not available" when trying to call a SSL s...
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: JBoss Enterprise Application Platform 5
Classification: JBoss
Component: jbossas
Version: 5.2.0
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
: ---
Assignee: Carlo de Wolf
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-11-12 14:58 UTC by Chris Dolphy
Modified: 2018-12-03 20:38 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-10-27 07:58:19 UTC
Type: Bug


Attachments (Terms of Use)
example servlet (973 bytes, text/x-java)
2013-11-12 14:59 UTC, Chris Dolphy
no flags Details

Description Chris Dolphy 2013-11-12 14:58:07 UTC
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:

Comment 1 Chris Dolphy 2013-11-12 14:59:52 UTC
Created attachment 823014 [details]
example servlet


Note You need to log in before you can comment on or make changes to this bug.