环境使用Windows server2008+nginx1.25.4+Tomcat9
自动更新ssl工具较少,整整一年,win-acme工具总是失效。
现使用lucky自动更新ssl证书,再映射到目录的功能结合openssl工具和脚本实现自动更新。
一、使用lucky将证书映射到指定目录。
配置证书这一步省略了
配置好后映射到自己需要的目录
二、使用脚本实现自动更新
1.安装openssl
下载安装包
下载地址: openssl
vps上还在使用好老的Windows2008,就下这个版本吧。
开始安装
下一步
下一步
不捐款就不勾了吧
安装完成后配置环境:
控制面板-所有控制面板项-系统
点击“高级系统设置”
环境变量
编辑Path路径
老系统是这样,新一点的系统是添加地址。
在变量值里面结尾加 ;结尾符号再补上我们刚才安装的路径
;C:\Program Files\OpenSSL-Win64\bin
最后运行CMD 输入 openssl version 显示版本表示OK成功。
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)