Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 7支持SSL/TLS中的AES-GCM?_Java_Security_Ssl_Aes - Fatal编程技术网

Java 7支持SSL/TLS中的AES-GCM?

Java 7支持SSL/TLS中的AES-GCM?,java,security,ssl,aes,Java,Security,Ssl,Aes,根据Java 7文档和第三方供应商的说法,Java 7似乎应该支持AES-GCM套件: 我在客户端和服务器之间的协商中遇到一些错误,无法协商密码,因为它仅限于AES-GCM密码。经过调查,我发现客户端和服务器(tomcat实例)都不支持密码套件。在客户端上运行一些示例代码以获取输出: // Create an SSLContext that uses our TrustManager SSLContext context = SSLContext.getInstance("TLS"); co

根据Java 7文档和第三方供应商的说法,Java 7似乎应该支持AES-GCM套件:

  • 我在客户端和服务器之间的协商中遇到一些错误,无法协商密码,因为它仅限于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 : 
    
    //创建一个使用TrustManager的SSLContext
    SSLContext context=SSLContext.getInstance(“TLS”);
    init(null,trustAllCerts,new SecureRandom());
    SSLParameters params=context.getSupportedSSLParameters();
    字符串[]suites=params.getCipherSuite();
    System.out.println(“Java版本:”+System.getProperty(“Java.runtime.version”));
    System.out.println(“连接到“+suites.length+”支持的密码套件:”;
    对于(int i=0;i
    不知道是否有其他人遇到过这样的问题


    Java 7支持在SSL/TLS中使用AES-GCM吗?

    AES-GCM在TLS v1.2中提供。参见[传输层安全(TLS)协议版本1.2][1],第6.2.3.3节。TLSv1.1没有添加任何密码套件,TLSv1.0也没有AES-GCM或椭圆曲线齿轮。(椭圆曲线的东西也出现在TLSv1.2中)

    Java7的最新公共构建80

    • 在将代码更改为在套接字编程中使用
      SSLContext.getInstance(“TLSv1.2”)
      或在HTTP编程中仅声明
      -Dhttps.protocols=TLSv1.2
      后,是否支持TLSv1.2

    • 根据仅在Java 7的商业版本191中实现的请求,即使在TLSv1.2下也不支持AES-GCM密码套件


    有趣的是,TLS_ECDHE_ECDSA_*
    密码套件显示在您的转储中,因为它们是TLSv1.2密码。

    中没有GCM密码套件(假设是Oracle JRE),尽管它支持TLS 1.2

    这些都已经过测试(请参阅“SunJSSE提供程序”部分中的密码套件表)


    我最近一直在玩弄Java和这个密码套件,最近有点胡说八道

    根据我的经验,您需要无限制的策略文件才能获得
    1.8.0-ea-b124    
    Connecting with 71 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_AES_128_GCM_SHA256 ********* 
     ********* TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ********* 
     ********* TLS_RSA_WITH_AES_128_GCM_SHA256 ********* 
     ********* TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 ********* 
     ********* TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 ********* 
     ********* TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 ********* 
     ********* TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 ********* 
     ********* 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_GCM_SHA256 ********* 
     ********* 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 *********