Como aplicar um Axis Client para usar o protocolo TLSv1.2

Um terceiro com o qual nosso aplicativo está integrado fez recentemente alterações em seus protocolos de nível de segurança. Em resumo, o cliente My Axis agora deve enviar chamadas usando TLSv1.1 ou TLSv1.2. Eu já vi outros posts sobre isso, com algumas boas idéias:

aquiaqui.

Depois de fazer essas alterações no código, ativei novamente as chamadas, usei uma ferramenta de snipping para monitorar o pacote enviado e ainda vejo na camada SSL que o protocolo que está sendo usado é o TLSv1.

o trecho de pacote

O que eu estou fazendo errado aqui?

é assim que defino meu novo SocketSecureFactory:

AxisProperties.setProperty("axis.socketSecureFactory", MyTLSSocketSecureFactory.class.getName());

enquanto 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;
    }
}

realmente aprecio qualquer comentário, obrigado.

questionAnswers(3)

yourAnswerToTheQuestion