【发布时间】:2021-05-13 09:33:39
【问题描述】:
我正在使用 Java Bouncy Castle TLS 库 (bctls-jdk15to18-1.68.jar)。当我调用 SSLContext.getInstance 时,我指定了“TLS”和 BCJSSE 提供程序:
final SSLContext context = SSLContext.getInstance("TLS",BCJSSE);
context.init(kmf.getKeyManagers(), tmf.getTrustManagers(), keyStoreSalter);
logger.debug(Arrays.toString(context.getSupportedSSLParameters().getProtocols()));
当我查询上下文的 SupportedSSLParameters 时,它返回:[TLSv1.3, TLSv1.2, TLSv1.1, TLSv1, SSLv3]
作为客户端,是否所有这些版本都与服务器通信,服务器选择它支持的最高版本?
如果我表示特定版本SSLContext.getInstance("TLSv1.3",BCJSSE);
并且服务器不支持该版本是否抛出异常?
如果协商会自动确定最佳匹配,我正在尝试确定您为什么会在通话中指定版本。
编辑:添加所以附上: Perfect test site for TLS/SSL
【问题讨论】:
标签: java ssl cryptography bouncycastle