The third party with which our application integrates has recently made changes to its security layer protocols. In short, the My Axis client should now send calls using TLSv1.1 or TLSv1.2. I saw other posts about this, with some good ideas:
After making these changes to the code, I called the calls again, I used the unscrew tool to track the sent packet, and I still see at the SSL level that the protocol used is TLSv1.
package fragment
what am i doing wrong here?
This is how I installed the new SocketSecureFactory:
AxisProperties.setProperty("axis.socketSecureFactory", MyTLSSocketSecureFactory.class.getName());
whereas MyTLSSocketSecureFactory:
public class MyTLSSocketSecureFactory extends JSSESocketFactory { public MyTLSSocketSecureFactory(Hashtable attributes) { super(attributes); } @Override public Socket create(String host,int port, StringBuffer otherHeaders,BooleanHolder useFullURL) throws Exception{ Socket s = super.create(host, port, otherHeaders, useFullURL); ((SSLSocket)s).setEnabledProtocols(new String[] {"TLSv1.1", "TLSv1.2"}); return s; } }
would really appreciate any comments, thanks.
mesh
source share