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

添加后效果如下

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 Tomcat配置 SSL 证书,你可以按照以下步骤进行操作: 1. 获取 SSL 证书:首先,你需要获取一个有效的 SSL 证书。你可以从权威的证书颁发机构(CA)购买证书,或者使用自签名证书(不推荐在生产环境中使用)。 2. 将 SSL 证书文件放置到适当的位置:将 SSL 证书文件(包括公钥和私钥文件)放置到 Tomcat 配置目录下的 `conf/` 目录中。通常,公钥证书的文件扩展名是 `.crt` 或 `.pem`,而私钥文件的扩展名是 `.key`。 3. 编辑 Tomcat 的 `server.xml` 文件:打开 Tomcat 的 `server.xml` 配置文件,该文件位于 Tomcat 安装目录下的 `conf/` 目录中。 4. 在 `<Connector>` 元素中配置 SSL: - 找到 `<Connector>` 元素,该元素用于配置 Tomcat 的连接器。 - 添加 `SSLEnabled="true"` 属性来启用 SSL。 - 添加 `keystoreFile` 属性,并将其值设置为私钥文件的路径。例如:`keystoreFile="conf/your_private_key_file.key"`。 - 添加 `keystorePass` 属性,并将其值设置为私钥文件的密码。 - 添加 `keystoreType` 属性,并将其值设置为 keystore 的类型。通常情况下,使用 `PKCS12` 或 `JKS` 格式的 keystore。 - 添加 `keyAlias` 属性,并将其值设置为证书别名。如果只有一个证书,可以将其值设置为 `tomcat`。 - 如果需要监听指定的端口(默认为 8443),可以在 `<Connector>` 元素中设置 `port` 属性。 5. 保存并关闭 `server.xml` 文件。 6. 启动 Tomcat:启动 Tomcat 服务器,它将加载并使用配置SSL 证书。 请注意,以上步骤中的具体细节可能因为你使用的 Tomcat 版本而有所不同。确保按照正确的版本文档进行操作。 配置完成后,Tomcat 将使用 SSL 证书启用加密连接。你可以通过访问 `https://your_domain:8443` 来测试 SSL 连接是否正常。记得将 `your_domain` 替换为你的域名或 IP 地址,并根据实际情况更改端口号。 祝你成功配置 SSL 证书!如有任何进一步问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值