Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.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 8无法强制TLS创建sslcontext?_Java_Ssl_Java 8_Tls1.2_Sslcontext - Fatal编程技术网

Java 8无法强制TLS创建sslcontext?

Java 8无法强制TLS创建sslcontext?,java,ssl,java-8,tls1.2,sslcontext,Java,Ssl,Java 8,Tls1.2,Sslcontext,我想将TLS/TLSv1.2用于ssl上下文: SSLContext context = SSLContext.getInstance("TLSv1.2"); context.init(new KeyManager[] { km }, new TrustManager[] { new MyTrustStore(keyStore) }, new SecureRandom()); System.out.println("PROTOCOL: "+SSLContext.getDefault().getS

我想将TLS/TLSv1.2用于ssl上下文:

SSLContext context = SSLContext.getInstance("TLSv1.2");
context.init(new KeyManager[] { km }, new TrustManager[] { new MyTrustStore(keyStore) }, new SecureRandom());
System.out.println("PROTOCOL: "+SSLContext.getDefault().getSupportedSSLParameters().getProtocols()[0]);
我们正在使用定制的信任库和密钥管理器,这里忽略它们,但我们确实需要它们

现在每次打印SSLv2Hello

我两者都试过了

SSLContext context = SSLContext.getInstance("TLSv1.2");

两个都不起作用

作为参考,它在JDK 1.8.0_171上运行


感谢您的帮助

您可以尝试一种定制方式。下面是一个kotlin样本

    val sslContext = SSLContexts.custom().setProtocol("TLSv1.2").build()

参考资料:

您是否打印了getProtocols返回的阵列的其余元素?SSLv2Hello不是实际的SSLv2协议或任何其他SSL,它只是一个兼容性问题,在2004-2010年的过渡期内,允许更好地处理旧服务器的错误。它不再需要,并且多久会导致错误,并且在j7看到getDefaultParameters而不是getSupportedParameters后默认情况下已被禁用;只是不要添加任何代码来启用它。。另外,您可能希望查看实际上下文,而不是getDefault。
    val sslContext = SSLContexts.custom().setProtocol("TLSv1.2").build()