Spring Security:为了测试一个应用程序,我想要让SSL停止运行 客户端证书X.509身份验证需要https吗?
答案 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担保的任何对象。