tomcat等部分java容器的ssl证书部署

针对java容器,如tomcat,jboss(resin,jetty这两个第三步另有文件)等,都可以用keystore(jks)文件来部署证书。

一、获取JKS格式的证书

  • mpki下的订单
  1. 登录https://mpki.trustasia.com

查看订单后,操作:证书下载

                                                                                       

 

输入订单密码(下订单时候设置的),新设置一个证书密码(之后会用到),选择JKS格式

 

确定提交后,将下载到一个jks文件,此jks文件的密码就是刚才设置的证书密码。

 

  • 非mpki,单独生成私钥key文件的。

​             1. 获取生成jks文件的需要的文件。这里需要2个文件,1个是私钥文件(此文件是和下订单提交的csr文件一并生成的,文件名里一般保存带有key,用记事本或者vi打开后,开头内容是-----BEGIN RSA PRIVATE KEY-----),可以咨询下提交订单的同事,这个文件没有的话,是无法部署的。另一个文件是证书文件,从证书邮件里,复制第一段(邮件里可能有好几段证书代码,这里第一段指的是您的SSL证书),-----BEGIN CERTIFICATE-----到-----END CERTIFICATE----,保存为server.crt.

            这样,就获得了2个文件。

                      一个是证书文件server.crt

                      一个是私钥文件key.txt  (任何后缀都可以)

  

                     2.  用第一步里的2个文件到这里生成一个jks文件

                 https://www.trustasia.com/tools/cert-converter.htm

                 所填项如下:

                 源格式 pem

                 目标格式 jks

                 证书文件 选择第一步里的server.crt

                 私钥文件 选择第一步里的 key.txt

                 Pem私钥密码  不填

                 密钥库密码和确认密码 自己设置一个,不加特殊符号,一会配置文件里用到(如server.xml)

                提交后就能获得一个域名的jks文件

 

 

到java容器中部署证书

      把jks上传到java容器在的服务器上,路径只要不是webapps下就可以,然后到conf目录下server.xml里配置

              <Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true"

                      keystoreFile="conf\server.jks" keystorePass="123456 clientAuth="false" sslProtocol="TLS" />

                 这个connector元素默认被注释掉的,打开注释后添加一些属性,如:

                keystoreFile指向刚才的jks文件

                keystorePass值为jks密码,就是刚才第二步里设置的密码。

                Port是端口

                SSLEnable是开启ssl的意思。

        保存修改后重启容器即可。

 

Java容器中的http自动跳转https的安全配置。

  1. 到conf目录下的web.xml。在</welcome-file-list>后面,</web-app>,也就是倒数第二段里,加上这样一段
  2.  

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

  •  

这步目的是让非ssl的connector跳转到ssl的connector去。所以还要配置一步。

 

 

  1. 到server.xml去修改

<Connector port="8080" protocol="HTTP/1.1"

             connectionTimeout="20000"             

                 redirectPort="443" />

        redirectPort改成ssl的connector的端口443

 

重启后便会生效。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值