根據Java 7的文件以及第三方供應商,它出現的Java 7應該支持AES-GCM套房:對SSL/TLS中AES-GCM的Java 7支持?
我打了一些錯誤,在談判之間客戶端和服務器由於僅限於AES-GCM密碼而無法協商密碼。經過調查,我發現似乎密碼套件不支持客戶端和服務器(tomcat實例)。在客戶端上輸出一些示例代碼以獲得輸出:
// Create an SSLContext that uses our TrustManager
SSLContext context = SSLContext.getInstance("TLS");
context.init(null, trustAllCerts, new SecureRandom());
SSLParameters params = context.getSupportedSSLParameters();
String[] suites = params.getCipherSuites();
System.out.println("Java version : " + System.getProperty("java.runtime.version"));
System.out.println("Connecting with " + suites.length + " cipher suites supported:");
for (int i = 0; i < suites.length; i++) {
System.out.println();
System.out.print(" ********* ");
System.out.print(suites[i]);
System.out.print(" ********* ");
}
Java version: 1.7.0_51-b13
Connecting with 63 cipher suites supported:
********* TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 *********
********* TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 *********
********* TLS_RSA_WITH_AES_128_CBC_SHA256 *********
********* TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 *********
********* TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 *********
********* TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 *********
********* TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 *********
********* TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA *********
********* TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA *********
********* TLS_RSA_WITH_AES_128_CBC_SHA *********
********* TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA *********
********* TLS_ECDH_RSA_WITH_AES_128_CBC_SHA *********
********* TLS_DHE_RSA_WITH_AES_128_CBC_SHA *********
********* TLS_DHE_DSS_WITH_AES_128_CBC_SHA *********
********* TLS_ECDHE_ECDSA_WITH_RC4_128_SHA *********
********* TLS_ECDHE_RSA_WITH_RC4_128_SHA *********
********* SSL_RSA_WITH_RC4_128_SHA *********
********* TLS_ECDH_ECDSA_WITH_RC4_128_SHA *********
********* TLS_ECDH_RSA_WITH_RC4_128_SHA *********
********* TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA *********
********* TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA *********
********* SSL_RSA_WITH_3DES_EDE_CBC_SHA *********
********* TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA *********
********* TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA *********
********* SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA *********
********* SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA *********
********* SSL_RSA_WITH_RC4_128_MD5 *********
********* TLS_EMPTY_RENEGOTIATION_INFO_SCSV *********
********* TLS_DH_anon_WITH_AES_128_CBC_SHA256 *********
********* TLS_ECDH_anon_WITH_AES_128_CBC_SHA *********
********* TLS_DH_anon_WITH_AES_128_CBC_SHA *********
********* TLS_ECDH_anon_WITH_RC4_128_SHA *********
********* SSL_DH_anon_WITH_RC4_128_MD5 *********
********* TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA *********
********* SSL_DH_anon_WITH_3DES_EDE_CBC_SHA *********
********* TLS_RSA_WITH_NULL_SHA256 *********
********* TLS_ECDHE_ECDSA_WITH_NULL_SHA *********
********* TLS_ECDHE_RSA_WITH_NULL_SHA *********
********* SSL_RSA_WITH_NULL_SHA *********
********* TLS_ECDH_ECDSA_WITH_NULL_SHA *********
********* TLS_ECDH_RSA_WITH_NULL_SHA *********
********* TLS_ECDH_anon_WITH_NULL_SHA *********
********* SSL_RSA_WITH_NULL_MD5 *********
********* SSL_RSA_WITH_DES_CBC_SHA *********
********* SSL_DHE_RSA_WITH_DES_CBC_SHA *********
********* SSL_DHE_DSS_WITH_DES_CBC_SHA *********
********* SSL_DH_anon_WITH_DES_CBC_SHA *********
********* SSL_RSA_EXPORT_WITH_RC4_40_MD5 *********
********* SSL_DH_anon_EXPORT_WITH_RC4_40_MD5 *********
********* SSL_RSA_EXPORT_WITH_DES40_CBC_SHA *********
********* SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA *********
********* SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA *********
********* SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA *********
********* TLS_KRB5_WITH_RC4_128_SHA *********
********* TLS_KRB5_WITH_RC4_128_MD5 *********
********* TLS_KRB5_WITH_3DES_EDE_CBC_SHA *********
********* TLS_KRB5_WITH_3DES_EDE_CBC_MD5 *********
********* TLS_KRB5_WITH_DES_CBC_SHA *********
********* TLS_KRB5_WITH_DES_CBC_MD5 *********
********* TLS_KRB5_EXPORT_WITH_RC4_40_SHA *********
********* TLS_KRB5_EXPORT_WITH_RC4_40_MD5 *********
********* TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA *********
********* TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5 ********* INFO - Received response from post device of :
不知道其他人是否遇到過這樣的問題。
Java 7是否支持在SSL/TLS中使用AES-GCM?
JSSE參考指南的這一部分可能不是最新的,但本指南中多次引用了對Java 7和8中TLS 1.2的支持。 – Bruno
感謝布魯諾。我只能按照供應商的說法進行操作。 – jww
我想他們還沒有碰過一段時間的介紹。如果您在整個文檔中搜索「1.2」,則會提及幾次。當然,真正重要的是指南末尾的附錄A中的「Oracle提供商文檔」的鏈接(它不一定是脫穎而出的......) – Bruno