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

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

史修谨
2023-03-14

在我当前基于netty(3.5.2)的服务器中,我能够使用TLS重新协商向客户端请求证书。根据资源的类型,我想向客户端请求一组不同的证书。这可以通过服务器发送TLS CertificateRequest信号并正确设置Certificate_Authorities字段来完成。我想在我的服务器上区分的两组资源是:

  1. 默认:请求已由X509TrustManager
  2. 已知的CA签名的客户端证书的资源
  3. 希望查看html" target="_blank">用户的任何证书的资源-这对于旨在帮助调试客户端证书的服务很有用(请将您拥有的任何证书发送给我,我会告诉您它是否符合我们所知道的有关该主题的所有标准)

在Java,受信任的CA列表由X509TrustManager.getAcceptedissuers()方法设置。但一旦设置了SSLContext,似乎就没有办法改变这一点了。我希望SSLParameters类中有一些可用的选项,但没有任何方法允许至少设置nullCertificate_Authorities列表。

允许这种情况的一种不令人满意的方法是为null请求的证书颁发机构打开一个新的端口,从而通过将资源分离到这些不同的端口来区分资源。有没有人知道有一种方法可以避免开新的港口?

共有1个答案

公良光熙
2023-03-14

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

 类似资料:
  • 问题内容: 以下是一个简单的声明 当我运行它时输出为。我不知道原因。 在执行期间(字节)-1返回-1,因此等价于。当我打印(char)-1时,它 仅 在某些系统中打印,而不在所有系统中打印。 如果我忽略上述第二点并打印(int)’?’ 然后打印63 所以我的问题是,如果我一起进行多播,那我得到了,但是如果我分部进行了广播,那 (字节)-1 (字符)-1 (int)’?’ 然后我得到63,为什么呢?

  • 问题内容: 我在Java J2EE Web应用程序中使用Hibernate 3.5.2和Spring Core 3.0.1。当单独的用户同时更新同一记录时,我得到了StaleObjectStateExcpetion。事务由javax.persistence.EntityManager管理。这是我创建问题的步骤。 User1登录到应用程序 User2登录到应用程序 用户1开始编辑记录A 用户2开始编

  • 为此,我在Windows 7 Professional SP1 PC上使用Visual studio 2015 express安装了。NET framework 4.6并编译了SW。VS中“应用程序”下的目标框架已设置为4.6 在SW中,我使用SslStream方法来验证证书,为了确保只使用TLS1.2,我输入以下行 我尝试在和创建新的SSL流之前插入这一行 为了进行测试,我使用openssl进行

  • 问题内容: 我是Postgresql的新手,正在使用9.3版。我有一张桌子,里面有几行。我的问题是,当我更新一行时,该行号被更改并将其移动到表中的最后一个位置。我的问题是:这是否是默认行为,因为我认为在更新行时,不应将其从其位置移开?该操作似乎就像先删除然后再插入该行。 这是示例SQL: 从今起: 将ID为1的更新后的行移动到最后一个位置。 谢谢 问题答案: 行号已更改 关系表中没有“行号”之类的

  • 如何在不使用那个方法(Id)的clearInterval()的情况下更改setInterval()方法中的period(定时器)? 我想让这个方法有一个初始的固定速度,并随着时间的推移而变慢,并且在setTimeout()方法的帮助下在10秒内完成,例如? 如果我能得到一些例子,我将非常感激:)

  • 问题内容: 我发现有很多方法可以将exec语句用于PDO,但是我不确定它是否对我有帮助。我的理解是我必须对准备好的语句使用execute()函数。我正在使用来自用户输入的数据更新一行,因此我想使用一个准备好的语句而不是query()调用。 我的代码如下: 问题是查询本身没有错误并且可以正常执行,因此在$ f中存储没有错误。但是,我需要知道它是否确实找到要更新的行,然后成功更新了它。换句话说,我需要