在Spring Security项目的samples/certificate目录中有一些预先生成的证书。如果您不想生成自己的,可以使用它们来启用SSL进行测试。。文件server.jks包含服务器证书、私钥和颁发证书的证书颁发机构证书。还有一些来自示例应用程序的用户的客户端证书文件。您可以将这些安装在浏览器中,以启用SSL客户端身份验证。
要运行支持SSL的tomcat,请将server.jks文件放到tomcat conf目录中,并将以下连接器添加到server.xml文件中
1 <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" scheme="https" secure="true" 2 clientAuth="true" sslProtocol="TLS" 3 keystoreFile="${catalina.home}/conf/server.jks" 4 keystoreType="JKS" keystorePass="password" 5 truststoreFile="${catalina.home}/conf/server.jks" 6 truststoreType="JKS" truststorePass="password" 7 />
如果您仍然希望SSL连接成功,即使客户端没有提供证书,也可以将clientAuth设置为“想要”。除非您使用非X.509身份验证机制(如表单身份验证),否则没有证书的客户端将无法访问任何受Spring Security保护的对象。