用.pem和.key,给tomcat配置SSL

关于tomcat配置SSL,网上教程乱的很,但是很少有一篇文章就能够讲明白的。现在我写一个,只要你手里有.pem和.key文件,跟着文章做,肯定能配置成功。

1、服务器证书分很多种,目前的PKCS12位行业标准格式(文件后缀.p12或者.pfx)。那么我们第一步就是用.pem和.key来生成证书文件。

2、要生成PKCS12格式证书文件,需要openssl,没有的话可以自行下载或者使用我提供的,链接在文章下面(偶然在支付宝签名生成工具里面扒出来的)

3、拿到openssl文件,解压后,配置环境变量。网上有教程说需要重启,不过我在操作的时候没有重启。

4、配置完成后,可以先用命令行测试是否生效,输入openssl回车,如下图所示即为配置成功。

5、下面就是使用openssl来生成证书文件了。(假定收到的文件为cert.key和cert.pem)

      注意命令最后的文件后缀,不管是.pfx或者是.p12都可以

       openssl pkcs12 -export -inkey cert.key -in cert.pem -name test -out test.pfx

      中途需要输入导出密码(enter export password),输入一个,做好记录。这时候控制台不显示的,输入完敲回车就可以。

      再次确认刚才的密码(verifying-enter export password),控制台不显示,输入完成后回车。

6、这时候就可以去tomcat里面进行配置了,这里只讲一下server.xml中443端口标签要如何写。比如我刚才生成的文件名是test.pfx

        <Connector
        protocol="org.apache.coyote.http11.Http11NioProtocol"
        port="443" maxThreads="200"
        scheme="https" secure="true" SSLEnabled="true"
        keystoreFile="/home/tomcat/conf/cert/test.pfx"  <!--这里是证书文件存放路径,我写的是linux格式的-->
        keystoreType="PKCS12"   <!--这里是证书格式,.pfx和.p12都是PKCS12格式的-->
        keystorePass="123456"    <!--刚才输入的密码-->
        clientAuth="false" sslProtocol="TLS"/>

7、重启tomcat,使用https尝试登录。

附1:openssl程序:https://pan.baidu.com/s/1MjrEEO7vu91xeEwEd9FQ0w

        提取码:klm6

 

附2:tomcat如何强制https访问:在web.xml的welcome-file-list后,增加以下内容

<login-config>
  <!-- Authorization setting for SSL -->
    <auth-method>CLIENT-CERT</auth-method>
     <realm-name>Client Cert Users-only Area</realm-name>
</login-config>

<security-constraint>
  <!-- Authorization setting for SSL -->
    <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>
</security-constraint>

添加后效果如下

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值