下面是我使用https协议发送请求时具体操作:
1)生成密钥
keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "E://tomcat.keystore" -validity 36500
在交互命令行中,第一项“您的名字与姓氏是什么?”需要填写服务器域名(本机用localhost)
2)导出证书
keytool -export -trustcacerts -alias tomcat -file E://server.cer -keystore E://tomcat.keystore -storepass 123456
3)加入JDK受信任库
keytool -import -trustcacerts -alias tomcat -file E://server.cer -keystore E://xp/environment/Java/jdk1.7.0_80/jre/lib/security/cacerts -storepass changeit
注: 提供两个辅助指令——
查看受信任库内容 :
keytool -list -keystore %JAVA_HOME%/jre/lib/security/cacerts
从受信任库中删除 :
keytool -delete -trustcacerts -alias tomcat -keystore E://xp/environment/Java/jdk1.7.0_80/jre/lib/security/cacerts -storepass changeit
4)tomcat配置修改
<Connector SSLEnabled="true" clientAuth="false" keystoreFile="E://tomcat.keystore" keystorePass="123456" maxThreads="150" port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https" secure="true" sslProtocol="TLS"/>
5)web.xml 配置(在<welcome-file-list></welcome-file-list>后面添加)
<security-constraint>
<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>
6 )启动tomcat就ok了