通常商用服务器使用https协议需要申请SSL证书,证书都是收费的,价格有贵的有便宜的。它们的区别是发行证书的机构不同,贵的证书机构更权威,证书被浏览器否决的几率更小。
非商业版本可以通过keytool来生成。
用keytool工具生成证书与配置
1、相关工具说明
此处使用1.7.0_79版本,如图所示:
切换到jdk bin目录下面,如图:
证书密钥生成
1、创建证书
keytool -genkey -alias [your_alias_name] -keyalg RSA -keystore [keystorePath] keytool -genkey -alias alibaba -keyalg RSA -keystore F:/keys/alibabakey
[your_alias_name] 可以是网站名,比如:alibaba
<your_keystore_filename> 生成的证书所在目录及名称,此处用 F:/keys/alibabakey
输入以上命令以后会提示让输入域名(必填)相关信息。此处可模拟一个,如alibaba.com。
密钥库口令随便输入,只有能记得住就行。此处使用:123456
导出证书
keytool -export -file f:/keys/alibaba.crt -alias alibaba -keystore F:/keys/alibabakey
为客户端的JVM导入证书
把证书导入到jvm,这里输入的keystore密码为changeit
keytool -import -keystore D:ApplicationJavajre7libsecuritycacerts -file f:/keys/alibaba.crt -alias alibaba
tomcat配置
服务器版本说明
tomcat使用apache-tomcat-7.0.67版本
到tomcat安装目录D:Applicationapache-tomcat-7.0.67conf找到server.xml文件。对此文件进行编辑。
找到:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS"/>
未修改的情况下,此节点是被注释的。请放开注释。并在此节点中增加属性配置:keystoreFile="F:/keys/alibabakey" keystorePass="123456" 此处的两个值是上面生成的。和设置的密钥库口令。此处的keystoreFile和keystorePass要区分大小写。写错的话启动tomcat的时候会报错。
设置完成后为:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="F:/keys/alibabakey" keystorePass="123456"/>
最后一步,找到C:WindowsSystem32driversetchosts文件,编辑此文件,在最后增加一行
127.0.0.1 alibaba.com
因为生成密钥的时候输入的域名是这个。
启动tomcat
略
访问查看效果
在地址栏输入:https//alibaba.com:8443/
商用证书申请与相关配置
请参照:详解 Nginx + Tomcat HTTPS/SSL 配置
http://my.oschina.net/zhlmmc/blog/42125?fromerr=Q8wKtQvz