需要帮助设置信任库的权限链(在Tomcat中)

时间:2010-05-29 15:21:19

标签: java tomcat ssl certificate-authority truststore

领先...... 到目前为止,我不是通过SSL在应用程序安全性方面的专家,但我正在尝试建立一个包含我们在生产中可能遇到的所有可能情况的测试环境。为此,我有一个证书颁发机构(CA)树,它是各种测试客户端证书和节点/服务器证书(代表各种已发布的Web服务和我们集成的其他应用程序的复杂测试环境)的发行者。

这些CA的结构如下: 根CA,已签署/发布Sub CA1,Sub CA2和Sub CA3。然后,这些子系统签署/颁发了环境中各种节点和客户端的所有证书。

现在提出问题.... 在我的应用程序的信任库中,我想信任由Sub CA1和Sub CA2签名的所有内容,但不信任Sub CA3(不受信任)。这是否意味着我的信任库应该(1)仅包括Sub CA1和Sub CA2,或者(2)它是否应包括Root CA,Sub CA1和Sub CA2?

我不知道在信任库中表示此信任链的正确方法是什么。在将来,我还想添加一个Sub CA4(也由根CA签名/发布),但是将其添加到证书吊销列表(CRL)以进行测试。

提前,谢谢你对此有任何帮助。非常感谢。

1 个答案:

答案 0 :(得分:0)

CAVEAT:我不会测试这个,所以我希望我的回答是正确的。

我认为你的基本假设是正确的。我不相信您可以在不编写自定义代码的情况下有选择地撤销信任,因此您的信任库应该只包含完全信任的证书。因此,请保留根CA,并选择您的选项(1)。

正如您所看到的,尝试强制执行此类细粒度访问控制不适合Java(以及大多数其他系统)基于X509证书的身份验证模型。它们基本上旨在将身份验证外包给Verisign,Thawte,GoDaddy,GlobalSign等,以获取SSL证书和代码签名证书。它可以支持其他模型,包括自签名证书,但不是没有相当大的前期痛苦和持续的维护难题。