Uygulamamızın üçüncü bir tarafı, güvenlik düzeyi protokollerinde yakın zamanda değişiklikler yaptı. Kısacası, My Axis istemcisinin TLSv1.1 veya TLSv1.2 kullanarak çağrı göndermesi gerekiyor. bazı iyi fikirler, bu ilgili diğer mesajları gördük:TLSv1.2 protokolünü kullanmak için bir Axis İstemcisi nasıl uygulanır
kodunda bu değişiklikleri yaptıktan sonra, ben gönderilen paketi izlemek için Kesme Aracı kullanmış yine aramaları tetiklemiş ve hala kullanılmakta olan protokol TLSv1 olan SSL tabakasında bakın.
yanlış burada ne işim var?
MyTLSSocketSecureFactory oysaAxisProperties.setProperty("axis.socketSecureFactory", MyTLSSocketSecureFactory.class.getName());
geçerli::
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;
}
}
, sayesinde herhangi bir yorum gerçekten takdir ediyorum
bu benim yeni SocketSecureFactory oluşturma şekilleridir.
değiştirebilirsiniz: initFactory() yöntemi ve benzeri bazı şeyleri
geçersiz kılma Sunucu, önceki gece önceden haber vermeksizin sadece TLS 1.1 veya 1.2 bağlantı kabul etmeye başladı. JDK 6 u 35, Axis 1.4 kullanıyorum. Aşağıda açıklanan çözüm ile denedim ama hiçbir fark yaratmıyor, tshark hala TLSv1 ile çıktığımı söylüyor: TLSv1 75 Alert (Seviye: Önemli, Açıklama: Handshake Failure) – Sergiu