私はApache HTTPClientでカスタムSSLコンテキストを使用してJava 7のTLSv1.2を有効にしています(デフォルトでは有効ではありません)ので、CXFで有効にする必要があります。 Java 8では、デフォルトで使用する必要があります。私はあなたの設定を使用している場合、パラメータとして
TLSv1.2
を使用しようとするだろう。
これで解決しない場合は、カスタムSSLファクトリを使用してみてください。 CXFは、カスタムソケットファクトリを使用して取得
// enable tls v1.1 and v1.2 on JRE 7
String jreVersion = System.getProperty("java.version");
if (jreVersion.startsWith("1.7")){
try {
SSLContext sslcontext = SSLContexts.custom().build();
// Allow TLSv1.1 and 1.2 protocol only
SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslcontext,
new String[] { "TLSv1.1", "TLSv1.2" }, null,
SSLConnectionSocketFactory.getDefaultHostnameVerifier());
customClient.setSSLSocketFactory(sslsf); // set the httpClient custom factory
} catch (KeyManagementException | NoSuchAlgorithmException e) {
e.printStackTrace();
throw e;
}
}
はon this SO question
なぜに答えてきましたか? JVM(Java 6まで)に依存しますが、とにかく「TLSv2」はTLSプロトコルとして存在しません。 – vzamanillo