当前位置: 首页 > 知识库问答 >
问题:

SSLContext初始化

景德海
2023-03-14

还有,既然可以指定要使用的安全提供程序,那么我应该使用哪个提供程序呢?

谢谢

共有1个答案

滕夜洛
2023-03-14

正如您在标准名称文档中所看到的,所有条目(SSLv3、TLSV1.0、TLSV1.1、...)都表示它们可能支持其他版本。

实际上,在Oracle JDK(和OpenJDK)中,它们都是这样。如果您查看源代码,TLS10Context类用于TLS、SSL、SSLv3和TLS10,TLS11Context用于TLSV1.1,而TLS12Context用于TLSV1.2。所有支持SSL/TLS的所有版本,默认情况下启用的是不同的。

这可能与另一个提供商或JRE供应商不同。当然,您应该选择一个至少支持您想要使用的协议版本的协议。

    null

同样,当查看OpenJDK 8U40-B25中sun.security.ssl.sunJSSE的源代码时,SSLContext协议TLSV1TLSV1.1TLSV1.2也使用了TLS10ContextTLS11ContextTLS12Context这些协议遵循与Java 7中相同的逻辑。

但是,协议TLS不再别名到它们中的任何一个。相反,它使用的TLSContext依赖于jdk.tls.client.protocols系统属性中的值。摘自JSSE参考指南:

要在客户端上启用特定的SunJSSE协议,请在引号内用逗号分隔的列表中指定它们;然后在客户端上禁用所有其他受支持的协议。例如,如果此属性的值为“TLSv1,TLSv1.1”,则在客户端上启用TLSv1和TLSv1.1的默认协议设置,而在客户端上禁用SSLv3、TLSv1.2和SSLv2Hello。

 类似资料:
  • Initialization 初始化 Although it doesn’t look superficially very different from initialization in C or C++, initialization in Go is more powerful. Complex structures can be built during initialization a

  • 初始化是为类、结构体或者枚举准备实例的过程。这个过需要给实例里的每一个存储属性设置一个初始值并且在新实例可以使用之前执行任何其他所必须的配置或初始化。 你通过定义初始化器来实现这个初始化过程,它更像是一个用来创建特定类型新实例的特殊的方法。不同于 Objective-C 的初始化器,Swift 初始化器不返回值。这些初始化器主要的角色就是确保在第一次使用之前某类型的新实例能够正确初始化。 类类型的

  • new iSlider(DOM, DATA, OPTIONS) Name Type Description DOM dom 容器dom节点 DATA Array 数据列表 OPTIONS Object 配置项 DOM new iSlider(DOM, DATA, OPTIONS); {HTMLElement} 容器dom节点 作为第一个参数并不是必须的,会被OPTIONS.dom覆盖,但是这十分必

  • 确认初始化操作 1)初始化操作用来清空此统计ID的统计数据 2)与启用新的统计ID不同的是,初始化操作使您不需更换网站上的统计代码就可以重新开始统计 注意:初始化操作将清除此统计ID的所有统计数据,此操作不可恢复!!!

  • 创建版本库 git 基于文件夹(工作树)进行版本控制,在一个文件夹中创建 git版本库: $ cd project/ $ git init Initialized empty Git repository in .git/ 输出信息:在当前文件夹的 .git/ 目录下创建版本库 将文件提交到 git索引: git add file1 file2 file3 …… 更方便的作法是

  • 1. 引入sdk 下载wechat-mudu.min.js到小程序项目,建议放utils目录下 const Mudu = require('./utils/wechat-mudu.min') 2. 设置小程序code获取session_key地址 本方法已废弃 sdk会在初始化的时候获取用户的微信资料并设置到目睹平台,所以需要设置该地址用户获取用户openid, 详见用户 Mudu.setOp