Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 需要帮助建立信任库';s权力链(在Tomcat中)_Java_Tomcat_Ssl_Certificate Authority_Truststore - Fatal编程技术网

Java 需要帮助建立信任库';s权力链(在Tomcat中)

Java 需要帮助建立信任库';s权力链(在Tomcat中),java,tomcat,ssl,certificate-authority,truststore,Java,Tomcat,Ssl,Certificate Authority,Truststore,引入。。。 到目前为止,我还不是通过SSL实现应用程序安全的专家,但我正在尝试建立一个测试环境,其中包括我们在生产中可能遇到的所有可能场景。为此,我有一个证书颁发机构(CA)树,它们是各种测试客户机证书和节点/服务器证书(表示各种已发布web服务和我们集成的其他应用程序的复杂测试环境)的颁发者 这些核证机关的结构如下: 根CA,已签署/发布子CA1、子CA2和子CA3。然后,这些SUB签署/颁发了环境中这些不同节点和客户端的所有证书 现在是问题。。。。 在我的应用程序的信任库中,我希望信任Sub

引入。。。 到目前为止,我还不是通过SSL实现应用程序安全的专家,但我正在尝试建立一个测试环境,其中包括我们在生产中可能遇到的所有可能场景。为此,我有一个证书颁发机构(CA)树,它们是各种测试客户机证书和节点/服务器证书(表示各种已发布web服务和我们集成的其他应用程序的复杂测试环境)的颁发者

这些核证机关的结构如下: 根CA,已签署/发布子CA1、子CA2和子CA3。然后,这些SUB签署/颁发了环境中这些不同节点和客户端的所有证书

现在是问题。。。。 在我的应用程序的信任库中,我希望信任Sub-CA1和Sub-CA2签署的所有内容,但不信任Sub-CA3(不受信任)。这是否意味着我的信任库应该(1)只包括子CA1和子CA2,或者(2)应该包括根CA、子CA1和子CA2

我不知道在信任库中表示信任链的正确方式是什么。将来,我还想添加一个子CA4(也由根CA签名/颁发),但为了测试目的,将其添加到证书撤销列表(CRL)中


提前感谢您在这方面的帮助。非常感谢

警告:我不打算测试这个,所以我希望我的答案是正确的

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

如您所见,尝试实施这种细粒度的访问控制不适合Java(以及大多数其他系统)X509基于证书的身份验证模型。它们基本上是为了将身份验证外包给Verisign、Thawte、GoDaddy、GlobalSign等SSL证书和代码签名证书。它可以支持其他模型,包括自签名证书,但也会带来相当大的前期麻烦和持续的维护问题