是否需要https进行客户端证书身份验证?

时间:2012-09-11 09:09:16

标签: spring spring-security

Spring Security:为了测试一个应用程序,我想要让SSL停止运行 客户端证书X.509身份验证需要https吗?

1 个答案:

答案 0 :(得分:0)

是的,这是必要的。设置它也是非常简单的。请参阅:

http://static.springsource.org/spring-security/site/docs/3.0.x/reference/x509.html

22.3在Tomcat中设置SSL

Spring Security项目的samples / certificate目录中有一些预生成的证书。如果您不想生成自己的SSL,可以使用这些来启用SSL进行测试。文件server.jks包含服务器证书,私钥和颁发证书颁发机构证书。还有一些来自示例应用程序的用户的客户端证书文件。您可以在浏览器中安装这些文件以启用SSL客户端身份验证。

要运行带有SSL支持的tomcat,请将server.jks文件放入tomcat conf目录,并将以下连接器添加到server.xml文件

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" scheme="https" secure="true"
        clientAuth="true" sslProtocol="TLS"
        keystoreFile="${catalina.home}/conf/server.jks"
        keystoreType="JKS" keystorePass="password"
        truststoreFile="${catalina.home}/conf/server.jks"
        truststoreType="JKS" truststorePass="password"
/>
如果您仍希望SSL连接成功,即使客户端未提供证书,也可以将clientAuth设置为want。除非您使用非X.509身份验证机制(如表单身份验证),否则不提供证书的客户端将无法访问由Spring Security担保的任何对象。

相关问题