1
I’m trying to use the class Sslclientexisengineconfig to make a call on an SSL server (I need to make a call where the client uses a certificate to authenticate to the server, vice versa). When instantiating the same object I define which truststores and keystores to call, it seems that Axis continues using the standard (Java acerts). My call:
axisConfig = new SSLClientAxisEngineConfig(abconfigfile);
axisConfig.setProtocol("TLS");
axisConfig.setKeyStoreType("JKS");
axisConfig.setKeyStore("KEYSTORE.jks);
axisConfig.setKeyStorePassword("changeit");
axisConfig.setTrustStoreType("JKS");
axisConfig.setTrustStore("TRUSTSTORE.jks");
axisConfig.setTrustStorePassword("changeit);
And when making the HTTPS call Axis log:
Keystore is : Keystore type is : jks Keystore Provider is : init Keystore init keymanager of type Sunx509 trustStore is: C: Program Files Java jdk1.6.0_45 jre lib security cacerts trustStore type is : jks trustStore Provider is :
And there’s a return:
Axisfault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException faultSubcode: faultString: javax.net.ssl.Sslhandshakeexception: Received fatal Alert: handshake_failure faultActor: faultNode: faultDetail: {http://xml.apache.org/axis/}stackTrace:javax.net.ssl.Sslhandshakeexception: Received fatal Alert: handshake_failure
I would like to know what may be going on that I am not carrying KEYSTORE.jks and TRUSTSTORE.jks OBS: I managed through spring to use this certificate.