java - Java 8 不能强制 TLS 来创建 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().getSupportedSSLParameters().getProtocols()[0]);
我们正在使用自定义信任库和密钥管理器,在这里忽略它们,但我们确实需要它们。
现在每次都会打印“SSLv2Hello”。
我都试过了
SSLContext context = SSLContext.getInstance("TLSv1.2");
和
SSLContext context = SSLContext.getInstance("TLS");
两者都没有奏效。
作为参考,这在 JDK 1.8.0_171 上运行
谢谢您的帮助
解决方案
您可以尝试自定义方式。下面是一个 kotlin 示例
val sslContext = SSLContexts.custom().setProtocol("TLSv1.2").build()
推荐阅读
- javascript - 我的 JavaScript 代码在运行时没有显示任何内容是有原因的吗?
- c# - 使用 C# 静态方法在 Powershell 中发送带有表单数据的 REST API 请求很困难
- c++ - 如何创建复杂的模板
输入向量 ? - reactjs - 状态未在 FormGroup 内更新
- javascript - 从 Javascript URL 检索文本内容
- c# - C++ 向量与 C# 列表。为什么它们会产生不同的结果?
- python - 从一个 pandas df 到另一个的平均行作为平均值(使用两个键)
- function - 在 Fortran 90 函数中添加打印语句这不起作用
- javascript - 单击元素时材质ui工具提示未关闭
- bash - Shell 脚本错误 - 错误替换 - 原理