根据https://wiki.jasig.org/display/CASUM/X.509+Certificates,
在服务器发送标识自身的证书后,它可以发送一个愿意接受证书的证书颁发机构名称列表。
我想知道如何确定这个列表是什么,以及如何修改它。
我问的原因是我在验证成功后(即票证阶段)在服务器和客户端之间获得了无限重定向,我认为它与CAS服务器not recognizing有关。 CAS客户端证书(客户证书是自签名的)。
答案 0 :(得分:0)
如果您想查看此列表是什么,可以使用OpenSSL:
echo "" | openssl s_client -connect your.server:port
这将显示有关握手的各种消息,包括CertificateRequest
消息中的证书和CA列表。
最终,它取决于有效X509TrustManager
的getAcceptedIssuers()
方法。默认情况下,这将是所有信任锚的主题DN列表(即信任库中所有证书的主题DN)。
您的客户端证书必须由服务器验证。这通常在信任管理器握手期间完成,信任管理器(除非经过调整)将在信任存储中为已知CA(或至少已知的证书,如果它是用户证书本身)构建链。
将自签名证书添加到信任存储区就足够了。它不必是与JVM捆绑在一起的cacerts
文件,您可以复制它并使用Apache Tomcat连接器的信任存储设置来设置它。