gpt4 book ai didi

java - 在 TLS 重新协商期间更改 TrustManager 的接受发行者

转载 作者:太空宇宙 更新时间:2023-11-03 13:42:34 26 4
gpt4 key购买 nike

在我当前基于 netty (3.5.2) 的服务器中 I am able to ask the client for a certificate using TLS renegotiation .根据资源的类型,我想向客户索取一组不同的证书。这可以通过服务器发送 TLS CertificateRequest signal with the certificate_authorities field 来完成正确设置。我想在我的服务器上区分的两组资源是:

  1. 默认:请求客户端证书的资源,这些证书由 X509TrustManager
  2. 已知的 CA 签名
  3. 想要查看用户的任何证书的资源 - 这对于旨在帮助调试客户端证书的服务很有用(将您拥有的任何证书发送给我,我会告诉您它是否符合我们在主题)

在 Java 中,受信任的 CA 列表由 X509TrustManager.getAcceptedIssuers() 设置方法。但是一旦设置了 SSLContext,似乎就没有办法改变它。我希望 SSLParameters class 提供一些选项但是没有一种方法可以至少设置空 certificate_authorities 列表。

允许这样做的一种不令人满意的方法是为空请求的证书颁发机构打开一个新端口,因此通过将资源分离到这些不同的端口来区分资源。是否有人知道避免打开新端口的黑客攻击?

最佳答案

您需要安装自己的 TrustManager。有关详细信息,请参阅 JSSE 引用指南。

关于java - 在 TLS 重新协商期间更改 TrustManager 的接受发行者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13015875/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com