tomcat配置单向认证
1、生成服务器端证书
keytool -genkey -keyalg RSA -dname "cn=localhost,ou=sango,o=none,l=china,st=beijing,c=cn" -alias server -keypass password -keystore server.jks -storepass password -validity 3650
2、由于是单向认证,没有必要生成客户端的证书,直接进入配置tomcat
service.xml文件
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="D:/server.jks" keystorePass="password" />
clientAuth="false"表示单向认证,同时去掉truststoreFile="D:/server.jks" truststorePass="password"。
3.强制https访问
在tomcat\conf\web.xml中的</welcome-file-list>后面加上这样一段:
<login-config> <!-- Authorization setting for SSL --> <auth-method>CLIENT-CERT</auth-method> <realm-name>Client Cert Users-only Area</realm-name> </login-config> <security-constraint> <!-- Authorization setting for SSL --> <web-resource-collection > <web-resource-name >SSL</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint> </security-constraint>
完成以上步骤后,在浏览器中输入http的访问地址也会自动转换为https了 。
原文地址:http://www.cnblogs.com/muzhongjiang/p/3751295.html