本帖最后由 刘延捷 于 2022-5-17 13:17 编辑
某公司使用宝塔面板SSL证书,证书安装到Tomcat服务器上。
一、证书获取
(1)、沟通客户索要证书文件。 (2)、通过购买证书的厂商下载证书文件。
登录宝塔官网面板后台界面把申请的商业证书下载。
下载后会有压缩包,压缩包里面包含Apache、IIS、Nginx、Tomcat证书。 打开Tomcat文件夹后有两个文件分为0_域名.jks文件和证书密钥
所谓JKS(Java Key Store)就是利用Java Keytool 工具生成的Keystore文件,JKS文件由公钥和密钥构成,其中的公钥就是我们所说的证书,即cer为后缀的文件,而私钥就是密钥,即以key为后缀的文件。主要介绍如何通过Keytool结合Openssl提取jks文件的公钥和私钥。
找一台Linux服务器系统或搭建一台Linuxcentos7虚拟机通过SSH登录把0_域名.jks文件导入linux系统。
二、安装JAVA环境(如果有环境该配置跳过) 安装JAVA环境,官网下载jdk-18_linux-x64_bin.tar文件并导入linux系统。
解压文件
配置JDK环境变量 在文本的最后一行粘贴如下:
注意JAVA_HOME=/home/java/jdk-18 就是你自己的解压目录 - #java environment
- export JAVA_HOME=/home/java/jdk-18
- export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
- export PATH=$PATH:${JAVA_HOME}/bin
复制代码
修改完成后按ESC键并输入英文冒号:wq
让刚刚设置的环境变量生效
检查是否配置java成功输入java -version
三、解密JKS证书文件
1、提取公钥 - keytool -list -rfc -keystore 0_域名.jks -storepass 证书密钥
复制代码
把公钥复制到文本中用来使用
2、提取私钥 jks文件中的私钥不能直接得到,需要通过openssl将jks文件转换成pfx格式后再进行提取。 执行如下命令将文件.jks文件转换成文件.pfx文件: - keytool -v -importkeystore -srckeystore 0_域名.jks -srcstoretype jks -srcstorepass 证书密钥 -destkeystore 文件名.pfx -deststoretype pkcs12 -deststorepass 证书密钥 -destkeypass 12345678
复制代码
执行如下命令便可以将文件名.pfx的私钥导出: - openssl pkcs12 -in 文件名.pfx -nocerts -nodes -out 文件名.key
复制代码
执行vim server1.key命令,便可以看到pfx文件的私钥信息 复制私钥信息
四、配置防火墙解密策略 1、配置服务器解密策略,接口选择WAN口,证书先不选
2、配置服务器证书,点击选择服务器证书
3、选择导入一对公私钥 公钥和私钥选择文本形式导入,把刚刚导出的公钥和私钥分别填入文本框并输入证书密钥 查看导入的证书是否和购买的日期一致
PS:解密引用证书生效前先访问域名是否正常,如果正常引用证书并启用解密
五、测试使用 配置前访问和证书引用后能够正常访问就没问题,证书配置异常不然会爆证书错误 |