2016-05-16 15 views
2

私は、Apache CXF 3.1.6は、私は、Apacheのドキュメントを見て、私も「TLSv2にsecureSocketProtocol」を設定しようとしたTLS1.2 http://cxf.apache.org/docs/tls-configuration.htmlApache CXFはTLS 1.2をサポートしていますか?

に関連した情報を発見したTLS1.2

をサポートしているかどうかを確認したいですログに "TLSv2 SSLContext not available"というメッセージが表示されました。

この点に関するお手伝いをさせていただきます。

+0

なぜに答えてきましたか? JVM(Java 6まで)に依存しますが、とにかく「TLSv2」はTLSプロトコルとして存在しません。 – vzamanillo

答えて

1

私は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

+0

これを行う方法を示すJiraもここにあります。 http://mail-archives.apache.org/mod_mbox/cxf-issues/201503.mbox/%[email protected]A%3E – Mike

+0

これ以降の「conduit」設定については、十分に文書化されていませんが、私はそれが接続の詳細に関してあなたが望む側面をカバーしていると信じています。 –

関連する問題