我正在尝试将Apache Tomcat配置为使用SSL连接和客户端身份验证(双向身份验证) . 我的证书是CA签名的 . 如果我把CA证书和客户端证书一起放在tomcat truststore中一切正常 . 如果我没有将CA证书放在tomcat信任库中,Tomcat将不会信任客户端 .
我在tomcat truststore中需要CA证书吗?
如果我将CA证书放在truststre中,那么Tomcat将信任每个拥有由同一CA签名的证书的客户端 .
您将信任或授权与身份验证混淆 . SSL证书的唯一目的是证明同伴是他所说的人,即 Build 他的身份 . 在签署CSR之前,您需要确定是否信任CA的验证身份的过程,如果是,则将其证书放入信任库 .
您是否希望该身份访问系统的某些部分是一个完全不同的问题,您必须通过授予身份的角色数据库以不同的方式解决这个问题 . 这是LDAP特别擅长的,但您也可以在Tomcat中使用DBMS甚至XML文件 . 看看Tomcat领域如何做到这一点 .
您不能做的是尝试将信任库用作该数据库 . 这不是它的用途,而不是它或PKI设计的目的 . 这就是为什么你试图以这种方式使用它时遇到的问题 .
是的,您需要信任库中的CA.如果您不愿意将CA放入信任库,则不应使用CA.
关于您的最后一段,您还可以检查客户端证书的专有名称以进一步授权 .
2 回答
您将信任或授权与身份验证混淆 . SSL证书的唯一目的是证明同伴是他所说的人,即 Build 他的身份 . 在签署CSR之前,您需要确定是否信任CA的验证身份的过程,如果是,则将其证书放入信任库 .
您是否希望该身份访问系统的某些部分是一个完全不同的问题,您必须通过授予身份的角色数据库以不同的方式解决这个问题 . 这是LDAP特别擅长的,但您也可以在Tomcat中使用DBMS甚至XML文件 . 看看Tomcat领域如何做到这一点 .
您不能做的是尝试将信任库用作该数据库 . 这不是它的用途,而不是它或PKI设计的目的 . 这就是为什么你试图以这种方式使用它时遇到的问题 .
是的,您需要信任库中的CA.如果您不愿意将CA放入信任库,则不应使用CA.
关于您的最后一段,您还可以检查客户端证书的专有名称以进一步授权 .