CentOS6平台,Tomcat部署Go Daddy颁发的SSL证书
基础环境:Centos 6.x/Centos 7.x
1. 安装tomcat 与java 环境
2.使用jre 程序的keytool 生成密钥,java 我使用解压版本并运行目录在
/usr/java,生成tomcat.keystore 密钥文件
keytool -keysize 2048 -genkey -alias tomcat -keyalg RSA -keystore tomcat.keystore
然后会提示输入DNS 信息及密码:
3.使用keytool 通过tomcat.keystore 生成csr文件,csr.csr 是csr的文件,提前的csr 名称可以自定义
keytool -certreq -keyalg RSA -alias tomcat -file csr.csr -keystore tomcat.keystore
4.官方申请证书
登录到你购买 SSL 证书商(这里是 GoDaddy),根据提示进入输入 CSR 的页面,用文本编辑器打开
刚才生成的csr.csr 文件,把里面的文本内容复制粘贴到页面的表单里即可。SSL 证书商会根据你的
域名发送一封验证邮件到域名注册者的Email(所以你要提前注意你的域名注册的Email地址是什么,
如果是错误的话需要先修正,否则收不到验证Email)。这个过程可能需要几分钟或者几小时,收到
验证Email之后点击里面的链接地址就完成私钥签名了.
5.将官方生成的证书导入到 tomcat.keystore 里面
登录到你购买 SSL 的证书商,下载你的网站已签名的证书文件,在 GoDaddy 里你下载会得到一个压缩
包,里面放有(domain.crt,gd_bundle-g2-g1.crt,gdig2.crt)
导入的流程顺序:根证书,中级证书,个人证书
我所下载的包里面包含:(17ce1dc68bb2e1a2.crt,gd_bundle-g2-g1.crt,gdig2.crt.pem)
其中根证书:gd_bundle-g2-g1.crt 中级证书:gdig2.crt.pem 个人证书:17ce1dc68bb2e1a2.crt
有人说在默认安装证书时,到最后安装个人证书会提示:keytool error: java.lang.Exception: Failed
to establish chain from reply
解决方法:原因是官方下载的根证书与中级证书可能是过期,你到它的repository里找到对应名称的根证书
下载覆盖,但过期这种情况我没遇到。
导入根证书
keytool -import -alias root -keystore tomcat.keystore -trustcacerts -file gd_bundle-g2-g1.crt
导入 中级证书,这里需要将gdig2.crt.pem结尾的pem去掉
keytool -import -alias intermed -keystore tomcat.keystore -trustcacerts -file gdig2.crt
导入域名证书
keytool -import -alias tomcat -keystore tomcat.keystore -trustcacerts -file f91dc12f8b1fb94e.crt
这里注意,将证书导入tomcat.keystore时,一定要使用申请证书前生成的tomcat.keystore, 密码使用
生成tomcat.keystore时的密码。用证书直接生成tomcat.keystore,否则https配置必然失败,访问https
时出现以下界面,提示SSL不受支持,如下:
7.tomcat 配置server.xml ,先在tomcat 目录下面新建一个件夹ca存放tomcat.keystore 文件
https段的代码如下:
<Connector port=”443″
protocol=”org.apache.coyote.http11.Http11Protocol”
SSLEnabled=”true”
maxThreads=”150″
scheme=”https”
secure=”true”
URIEncoding=”UTF-8″
keystoreFile=”/usr/local/tomcat/ca/tomcat.keystore”
keystorePass=”123456″
clientAuth=”false”
sslProtocol=”TLS”
keystoreType=”JKS”
compression=”on”
compressionMinSize=”50″
noCompressionUserAgents=”gozilla, traviata”
compressableMimeType=”text/html,text/xml,text/javascript,text/css,text/plain”
sslEnabledProtocols=”TLSv1,TLSv1.1,TLSv1.2″ />
然后再在webapps/ROOT/下新建一个index.html, 写入hello
8. 启动tomcat,输入https://ip验证
参考文献: https://www.cnblogs.com/itusye/p/6083848.html