Spring Security:为了测试一个应用程序,我想让 SSL 关闭客户端证书 X.509 身份验证是否需要 https?
问问题
125 次
1 回答
0
是的,这是必要的。设置它也非常简单。请参见:
http://static.springsource.org/spring-security/site/docs/3.0.x/reference/x509.html
22.3 在 Tomcat 中设置 SSL
Spring Security 项目的 samples/certificate 目录中有一些预生成的证书。如果您不想生成自己的,可以使用这些来启用 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 也可以设置为想要的。不提供证书的客户端将无法访问 Spring Security 保护的任何对象,除非您使用非 X.509 身份验证机制,例如表单身份验证。
于 2013-02-19T22:06:17.757 回答