Windows下openssl转换pem为pfx证书给Tomcat使用

Windows下openssl转换pem为pfx证书给Tomcat使用

奥黛丽·逐爱者
2024-08-23 / 0 评论 / 1 阅读 / 正在检测是否收录...

环境使用Windows server2008+nginx1.25.4+Tomcat9
自动更新ssl工具较少,整整一年,win-acme工具总是失效。
现使用lucky自动更新ssl证书,再映射到目录的功能结合openssl工具和脚本实现自动更新。
一、使用lucky将证书映射到指定目录。
 配置证书这一步省略了
 配置好后映射到自己需要的目录
m06egjtz.png

二、使用脚本实现自动更新
1.安装openssl
 下载安装包
 下载地址: openssl
 vps上还在使用好老的Windows2008,就下这个版本吧。
m06e8isg.png
 开始安装
m06dvi7a.png
 下一步
m06dw0o4.png
 下一步
m06dwegj.png
 不捐款就不勾了吧
m06dxayz.png
 安装完成后配置环境:
控制面板-所有控制面板项-系统
点击“高级系统设置”
m06e06oj.png
环境变量
m06e0oxc.png
编辑Path路径
m06e1j3w.png
老系统是这样,新一点的系统是添加地址。
在变量值里面结尾加 ;结尾符号再补上我们刚才安装的路径
;C:\Program Files\OpenSSL-Win64\bin
m06e3z47.png
最后运行CMD 输入 openssl version 显示版本表示OK成功。
m06e5eup.png

2.使用bat批处理转换ssl证书
确定lucky映射的路径和pfx格式证书要放的路径和密码123456。
以泛域名_baidu.com为例

@echo off
SETLOCAL

:: 证书和私钥所在的目录
set SSL_DIR=D:\app\nginx\ssl

:: 定义证书、私钥和PKCS#12文件的名称
set CERTIFICATE_NAME=_.baidu.com.pem
set PRIVATE_KEY_NAME=_.baidu.com.key
set PKCS12_NAME=_.baidu.com.pfx

:: 完整的证书和私钥路径
set CERTIFICATE_PATH=%SSL_DIR%\%CERTIFICATE_NAME%
set PRIVATE_KEY_PATH=%SSL_DIR%\%PRIVATE_KEY_NAME%

:: 指定PKCS#12文件的输出目录
set PKCS12_DIR=D:\app\Tomcat9\ssl
set PKCS12_PATH=%PKCS12_DIR%\%PKCS12_NAME%

:: 检查证书和私钥是否存在
IF NOT EXIST "%CERTIFICATE_PATH%" (
    ECHO Certificate file not found: %CERTIFICATE_PATH%
    EXIT /B
)

IF NOT EXIST "%PRIVATE_KEY_PATH%" (
    ECHO Private key file not found: %PRIVATE_KEY_PATH%
    EXIT /B
)

:: 确保输出目录存在,如果不存在则创建
IF NOT EXIST "%PKCS12_DIR%" (
    ECHO Output directory does not exist: %PKCS12_DIR%
    MKDIR "%PKCS12_DIR%"
)

:: 使用OpenSSL导出PKCS#12文件,并设置密码
:: 此处设置PKCS#12文件的密码为123456
openssl pkcs12 -export -out "%PKCS12_PATH%" -inkey "%PRIVATE_KEY_PATH%" -in "%CERTIFICATE_PATH%" -passout pass:123456

:: 脚本结束
ENDLOCAL
0

评论 (0)

取消