2011-12-14 101 views
0

https://wiki.jasig.org/display/CASUM/X.509+Certificates如何确定服务器将从客户端接受的CA证书列表?

服务器后发送自身标识证书,它则可以发送证书颁发机构,它是愿意接受的证书名称的列表。

我想知道如何确定这个列表是什么,以及如何修改它。

我问的原因是我成功验证(即票务阶段)后我的服务器和我的客户端之间无限重定向,我认为它必须与CAS服务器not recognizing CAS客户端的证书(客户的证书是自签名的)。

+0

你的服务器在运行什么? Apache Httpd,基于Java的服务器,IIS? – Bruno 2011-12-14 22:15:30

回答

0

如果你想看到这份名单是什么,你可以使用OpenSSL:

echo "" | openssl s_client -connect your.server:port 

这将显示有关握手各种消息,包括证书和CA的在CertificateRequest消息列表。

最终,它由活动X509TrustManagergetAcceptedIssuers()方法确定。默认情况下,这将是所有信任锚的主题DN列表(即信任存储区中所有证书的主题DN)。

您的客户证书必须由服务器验证。这通常是在信任管理器握手期间完成的,信任管理器(除非经过调整)将在信任存储库中建立一个链接到已知的CA(或至少已知的证书,如果它是用户证书本身)。

将您的自签名证书添加到您的信任商店应该足够了。它不必是与JVM捆绑在一起的cacerts文件,您可以复制该文件并使用Apache Tomcat连接器的信任存储设置进行设置。

相关问题