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 信息及密码:

Tomcat_ssl1

3.使用keytool 通过tomcat.keystore 生成csr文件,csr.csr 是csr的文件,提前的csr 名称可以自定义

keytool -certreq -keyalg RSA -alias tomcat -file csr.csr -keystore tomcat.keystore

tomcat_ssl2

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)

tomcat_ssl3

其中根证书: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_ssl4

这里注意,将证书导入tomcat.keystore时,一定要使用申请证书前生成的tomcat.keystore, 密码使用

生成tomcat.keystore时的密码。用证书直接生成tomcat.keystore,否则https配置必然失败,访问https

时出现以下界面,提示SSL不受支持,如下:

tomcat_ssl5

 

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验证

tomcat_ssl7

tomcat_ssl8

参考文献: https://www.cnblogs.com/itusye/p/6083848.html

Leave a Reply