全部分类

您的位置:>首页 >技术文章

PEM文件和private.key文件生成Tomcat服务器所需的jks文件(配置SSL用)

作者: 时间:2018-12-19 13:35:15 点击量:546 来源:https://blog.csdn.net/long19901216/article/details/79696796

https://blog.csdn.net/long19901216/article/details/79696796

https://blog.csdn.net/axela30w/article/details/77145887

在工作中时长会遇到配置https,我使用的是Tomcat服务器,tomcat服务器一般使用的.jks文件配置SSL加密。但是,https供应商不会直接提供.jks文件。所以,我们就需要将加密文件转换成所需要的jks文件。现将我遇到并解决的相关问题记录下来,仅供各位参考:


由于公司没有https的相关预算,所以,我在网上找到了一个免费提供https服务的网站freessl,该网站可以提供免费的https证书,网站地址:https://freessl.org/,通过该网站,我申请到一份免费的https证书,该证书文件包含一个full_chain.pem文件,一个private.key文件。



现在介绍怎样将现有的两个文件转换成jks文件:

过程中会用到两个工具:OpenSSL,Keytool工具。

OpenSSL:下载地址:http://slproweb.com/products/Win32OpenSSL.html,我下载的是:



直接安装即可。

keytool工具,这是jdk自带的工具,在jdk的/bin目录下可以找到。

现在讲操作步骤:

1、找到openssl的bin目录,找到openssl.exe文件,单击右键以管理员身份运行,打开命令行,输入命令:

pkcs12 -export -out D:\name.pfx -in D:\fullchain.pem -inkey D:\private.key
,按照要求输入两次密码,这时在d盘生成了name.pfx文件。



2、用keytool工具生成jks文件:打开cmd命令工具,进入jdk的bin目录,输入命令:

keytool -importkeystore -srckeystore D:\name.pfx -destkeystore D:\name.jks -srcstoretype PKCS12 -deststoretype JKS
按照要求输入密码,然后在d盘就生成了jks文件。



过程中的输入的密码请牢记。


https://blog.csdn.net/axela30w/article/details/77145887

二、配置server.xml

先把domains.jks证书上传到Tomcat的conf文件夹下:



切换到conf目录下编辑server.xml

cd /usr/tomcat/apache-tomcat-8.5.11/conf
vim server.xml
找到:


去掉注释,修改为:(443为https默认访问端口)

maxThreads="150" scheme="https" secure="true"
keystoreFile="conf/domains.jks" //证书地址
keystorePass="582629" //证书密钥
clientAuth="false" sslProtocol="TLS" />
为了让http访问自动跳转为https访问,这里顺便把这两个标签也改了,

找到:


connectionTimeout="20000"

redirectPort="8443" />
修改为:


connectionTimeout="20000"

redirectPort="443" />
找到:


修改为:


保存退出。

三、配置web.xml

编辑web.xml

vim web.xml
在该文件标签(一般在文件最末尾)后面加上这样一段:



CLIENT-CERT
Client Cert Users-only Area




SSL
/*


CONFIDENTIAL


保存退出。所有配置完毕。重启Tomcat即可。证书生效,并且http访问会自动转为https访问。
---------------------
作者:小王瑞丶
来源:CSDN
原文:https://blog.csdn.net/axela30w/article/details/77145887
版权声明:本文为博主原创文章,转载请附上博文链接!

点击这里给我发消息