Wie erzwinge ich, dass ein Axis Client das TLSv1.2-Protokoll verwendet?

Eine Drittpartei, in die unsere Anwendung integriert ist, hat kürzlich Änderungen an den Sicherheitsprotokollen vorgenommen. Kurz gesagt, der My Axis-Client sollte jetzt Anrufe mit TLSv1.1 oder TLSv1.2 senden. Ich habe andere Posts zu diesem Thema mit guten Ideen gesehen:

HieHie.

Nachdem ich diese Änderungen im Code vorgenommen habe, habe ich die Aufrufe erneut ausgelöst, ein Snipping-Tool zum Überwachen des gesendeten Pakets verwendet und in der SSL-Schicht immer noch festgestellt, dass das verwendete Protokoll TLSv1 ist.

das Paket-Snippet

was mache ich hier falsch?

So stelle ich meine neue SocketSecureFactory ein:

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

whereas MyTLSSocketSecureFactory ist:

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

Ich würde mich über Kommentare sehr freuen, danke.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage