在我当前的基于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来完成。我想在服务器上区分的两组资源是:
X509TrustManager
已知的CA签名的客户端证书的资源在Java中,可信CA的列表由X509TrustManager.getAcceptedIssuers()方法设置。但是一旦设置了SSLContext似乎没有办法改变这一点。我期望从SSLParameters class可以获得一些选项,但是没有方法允许至少设置空certificate_authorities
列表。
允许这种情况的一种不令人满意的方法是为空请求的证书颁发机构打开一个新端口,并通过将它们分成这些不同的端口来区分资源。是否有人知道要避免打开新端口?
答案 0 :(得分:0)
您需要安装自己的TrustManager。有关详细信息,请参阅JSSE参考指南。