最近在负责公司的一个项目时因为涉及到信用卡支付的问题,需要用到https协议,毕竟交易数据都是很敏感的,本来一开始我是打算用自己生成的免费SSL证书进行认证,后来考虑到这样安全级别太低,所有便选择了购买Goddy证书。好了废话不多说,我在这里简单的聊下,我们该如何在tomcat上安装Goddy SSL证书。
当然,首先第一步我们需要在自己的服务器上安装相应的环境,JDK,tomcat1.8(这里我们的服务器是linux的);他们的安装我不多说,网上有很多的教程,可以自己查阅,接下来我们打开Goddy的官网 https://hk.godaddy.com/,登录自己的账号,找到证书购买的页面如下:
在这里我们选择第一个最便宜的套餐购买,在网站上你按照他的提示一步步购买付款就可以,付完款之后,如果你是自己的服务器那么需要你在服务器上生成一个CSR文件,这里我们使用jre的keytool生成。先生成tomcat.keystore 密钥文件,命令如下:
/usr/java/jre/bin/keytool -keysize 2048 -genkey -alias tomcat -keyalg RSA -keystore tomcat.keystore
然后系统会提示输入DNS 信息及密码,这里我不再详述,自己记下密码就可以。
接下来我们使用keytool 通过tomcat.keystore 生成csr文件, 文件名称可以自定义;命令如下:
/usr/java/jre/bin/keytool -certreq -keyalg RSA -alias tomcat -file csr.csr -keystore tomcat.keystore
上面的jre路径是你自己服务器上的安装路径。生成csr文件后我们在对应的路径下面找到文件,这时候我们需要Goddy官网上找到我的产品下面的ssl凭证,然后点击设定,最后把crs文件的内容拷贝到对应区域框内提交。
crs输入位置
然后SSL 证书商会根据你的域名发送一封验证邮件到域名注册者的Email,收到验证Email之后点击里面的链接地址就完成私钥签名了;
接下来我们登录到你购买 SSL 的证书商,下载你的网站已签名的证书文件,在 GoDaddy 里你下载会得到一个压缩包,里面放有(domain.crt,gd_bundle-g2-g1.crt,gdig2.crt),这里文件名不一定完全相同,以你自己下载下来的为准。我们将这些证书导入到之前生成的tomcat.keystore 里面,命令如下:
usr/java/jre/bin/keytool -import -alias root -keystore tomcat.keystore -trustcacerts -file gd_bundle-g2-g1.crt
/usr/java/jre/bin/keytool -import -alias intermed -keystore tomcat.keystore -trustcacerts -file gdig2.crt
/usr/java/jre/bin/keytool -import -alias tomcat -keystore tomcat.keystore -trustcacerts -file f91dc12f8b1fb94e.crt
最后,我们配置一下tomcat 的server.xml 文件,先在tomcat 目录下面新建一个ssl 文件夹存放tomcat.keystore 文件,再在新建一个/var/APP目录做HTTPS 虚拟目录;文件配置截图如下:
好了,安装过程到这里就已经完成了,这些我只是做了一个初步整理,需要会对大家有所帮助。