参考 http://blog.sina.com.cn/s/blog_5f64eccd0100p0pc.html
http://blog.sina.com.cn/s/blog_5ef0f60b01011ttz.html
http://blog.csdn.net/bingdongguke/article/details/6515162
1.为服务器生成证书
运用jdk自身所带的keytool生成(jdk的路径已经填写到环境变量中了,所以执行时任意目录就好,我是现在D盘新建了一个文件夹SSL,不指定默认C:\Users\当前用户)
keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:\SSL\tomcat.keystore -validity 36500
---------------------会出现交互信息------------------------------
输入密钥口令:_______ 【此处需要输入大于6个字符的字符串】
再次输入新口令:_______
您的名字与姓氏是什么:localhost【这是必填项,并且必须是TOMCAT部署主机的域名或者IP[如:gbcom.com 或者 10.1.25.251](就是你将来要在浏览器中输入的访问地址),否则浏览器会弹出警告窗口,提示用户证书与所在域不匹配。在本地做开发测试时,应填入“localhost”】
你的组织单位名称是什么:_______【可以按照需要填写也可以不填写直接回车】
您的组织名称是什么:_______【可以按照需要填写也可以不填写直接回车】
您所在城市或区域名称是什么:_______【可以按照需要填写也可以不填写直接回车】
您所在的州或者省份名称是什么:_______【可以按照需要填写也可以不填写直接回车】
该单位的两字母国家代码是什么:_______【可以按照需要填写也可以不填写直接回车】
在系统询问“正确吗?”时,对照输入信息,如果符合要求则使用键盘输入字母“y”,否则输入“n”重新填写上面的信息
输入<tomcat>的主密码,这项较为重要,会在tomcat配置文件中使用,建议输入与keystore的密码一致(直接回车即可),设置其它密码也可以
- 完成上述输入后,直接回车则在你在第二步中定义的位置找到生成的文件 【D:\SSL\tomcat.keystore】
2.单向认证的话,只做一个服务器证书即可了,现在配置Tomcat(好像与tomcat版本有关,此xml内容会有变动)
TOMCAT配置文件 C:\Program Files\apache-tomcat-7.0.27\conf\server.xml
修改前
<!-- Define a SSL HTTP/1.1 Connector on port 8443 This connector uses the JSSE configuration, when using APR, the connector should be using the OpenSSL style configuration described in the APR documentation --> <!-- <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" /> -->
修改后(注释去掉后,追加keystoreFile和keystorePass两个)<!-- Define a SSL HTTP/1.1 Connector on port 8443 This connector uses the JSSE configuration, when using APR, the connector should be using the OpenSSL style configuration described in the APR documentation --> <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="D:\SSL\tomcat.keystore" keystorePass="123456" />
3.重启Tomcat服务(MMD,起不来了),测试 https://localhost:8443 (经常出现不能访问)
-
这只是提供了https的访问方式,接下来继续做强制https访问的设置