- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在用 java 制作一个 TLS 客户端并使用 x509TrustManager checkServerTrusted验证服务器证书是否可信的方法。
void checkServerTrusted(X509Certificate[] chain,
String authType)
throws CertificateException
authType - the key exchange algorithm used
文档提到它使用 authType 参数,该参数指定使用的 key 交换算法。这对 TLS1.2 来说是有意义的,因为可以从所选密码中找出 key 交换算法。但是TLS1.3没有 key 交换算法的情况下,authType的值应该是多少呢?使用此方法使用 TLS1.3 时如何验证证书?我正在使用 openJDK 8。
最佳答案
It's "UNKNOWN".注意实际的证书路径验证和名称检查与较低的协议(protocol)相同; 1.3 未指定服务器使用包含 key 和(可能)与较低协议(protocol)中的 key 交换匹配的 KeyUsage 的证书,只是一个具有签名能力并与客户端提供的 signature_algorithms 值之一匹配的证书——并且 JSSE 客户端提供所有,至少假设有一个 EC 提供程序可用,这在 j7 up 中通常是这种情况。 (仅限 1.2,指定服务器证书以匹配 sigalgs 和 keyexchange。)
AFAICS 默认 validator (即当您使用 TrustManagerFactory 时)实际上根本不检查此值,尽管 it does apply a constraint for sigalgs when present (即在 1.2 或 1.3 中)。 TLS 规范不要求客户端检查这一点,甚至 1.3 也不需要,它通常比早期版本需要更多的接收器检查(即反Postelianism)。 (OTOH 默认的 X509[Extended]KeyManager 确实使用了类似的 keyType[s] 参数。)
PS:您的意思是您正在调用标准(X509)TM 来验证证书吗?如果是这样,您不需要; JSSE 已经做到了。或者你的意思是你提供你自己的类implements X509TrustManager
被称为?如果是这样,您应该知道在 7 中(如您所链接的)JSSE 将添加“端点识别”,即在适用于提供的 X509TM 的情况下检查主机名。如果你想自己控制,你必须改为 extends X509ExtendedTrustManager
在您链接的页面顶部链接。
关于java - X509TrustManager checkServerTrusted with TLSv1.3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72282382/
CheckServerTrusted 在使用我的服务器进行初始化时被调用。 但是,在初始化 Google map 时也会调用 checkServerTrusted。 是否可以以某种方式限制 check
这个问题已经有答案了: Issue in checking server certificate in checkServerTrusted (1 个回答) 已关闭 8 年前。 我试图实现X509Tr
我指的是Validate X.509 certificate against CA in Java这篇文章。 我的 checkServerTrusted 实现如下所示: @Override
我正在用 java 制作一个 TLS 客户端并使用 x509TrustManager checkServerTrusted验证服务器证书是否可信的方法。 void checkServerTrusted
为 HTTPS TLS 连接固定公钥。 低于 17 的 Android API 存在一个问题,它会在公钥固定的情况下启用 MITM(中间人)攻击。这已在下面的链接中进行了解释。 https://www
在我的 Android 项目中,我使用了一个库(我公司内部),它有一个带有自定义 X509TrustManager 的自定义 HTTP 客户端。 我们需要允许用户选择他们是否希望信任或不信任不受信任的
在我的 JavaFX 客户端应用程序中,我正在实现自己的依赖于 Platform TrustManager 的 TrustManager。 基本上,我总是调用平台信任管理器,如果连接不受信任,我可以弹
public class CustomTrustManager implements X509TrustManager { private X509TrustManager trustManag
为 X509TrustManager 实现 checkServerTrusted 方法的推荐方法是什么?我需要为 ssl pinning 使用重新实现,但我一直只能看到这个实现: public voi
当调用实现 X509TrustManager 类的 checkServerTrusted 方法时,我需要获取与证书链相关的所有验证错误,包括 证书路径验证问题。例如 CA 不受信任 证书字段验证问题。
我正在尝试将自签名证书导入受信任的证书,以便默认浏览器接受与使用它的网站的连接。 使用 https://github.com/bitfireAT/cadroid 中的代码它归结为通过 X509Trus
我是一名优秀的程序员,十分优秀!