当前位置:首页>软件中心>自用资源>SSL证书申请批处理

SSL证书申请批处理

  • 软件版本:2.2.9.1701
下载地址:
本地下载

介绍

    软件官方地址:https://www.win-acme.com/   目前为 win-acme.v2.2.9.1701.x64.pluggable 版

    批处理保存到软件同目录下管理员运行:

    @echo off
    chcp 936 >nul
    setlocal enabledelayedexpansion
    
    :: ===================== 配置项(仅修改这部分)=====================
    set "DOMAIN=nas.p43.cn"  :: 若需申请泛域名则改回 *.p43.cn
    set "EMAIL=ynjtlf@qq.com"
    set "ALICLOUD_API_ID=LTAI5t9SSRnTVFpfA1fLMrJG"
    set "ALICLOUD_API_SECRET=ZHJgHBIiY1oMHH11jw41tnouajUpaq"
    set "WACS_PATH=%~dp0wacs.exe"
    set "CERT_SAVE_PATH=%~dp0certificates"
    :: ================================================================
    
    :: 1. 检查WACS程序是否存在
    if not exist "%WACS_PATH%" (
        echo 【错误】未找到wacs.exe,请检查文件路径!
        pause
        exit /b 1
    )
    
    :: 2. 自动创建证书保存目录(核心修正:解决路径不存在问题)
    if not exist "%CERT_SAVE_PATH%" (
        echo 【前置步骤】创建证书保存目录:%CERT_SAVE_PATH%
        md "%CERT_SAVE_PATH%"
    )
    
    :: 3. 清理旧的续订配置(无任务时提示属正常,无需处理)
    echo 【步骤1/3】清理旧的续订配置...
    "%WACS_PATH%" --cancel
    
    :: 4. 申请证书(参数已适配v2.2.9,无注释干扰)
    echo 【步骤2/3】开始申请 %DOMAIN% 证书...
    "%WACS_PATH%" ^
        --source manual ^
        --host "%DOMAIN%" ^
        --emailaddress "%EMAIL%" ^
        --validation aliyun ^
        --aliyunapiid "%ALICLOUD_API_ID%" ^
        --aliyunapisecret "%ALICLOUD_API_SECRET%" ^
        --store pemfiles ^
        --pemfilespath "%CERT_SAVE_PATH%" ^
        --installation none ^
        --notaskscheduler ^
        --accepttos ^
        --force ^
        --verbose
    
    :: 5. 检查执行结果
    if %errorlevel% equ 0 (
        echo.
        echo 【步骤3/3】证书申请成功!
        echo 证书保存路径:%CERT_SAVE_PATH%
        echo 有效期90天,需手动重新运行脚本续订
    ) else (
        echo.
        echo 【错误】证书申请失败!错误码:%errorlevel%
        echo 排查方向:
        echo 1. 证书保存目录是否创建成功:%CERT_SAVE_PATH%
        echo 2. 阿里云API ID/Secret是否正确且有DNS管理权限
        echo 3. 域名 %DOMAIN% 是否托管在阿里云DNS
        echo 4. 服务器能否访问 https://acme-v02.api.letsencrypt.org/
        pause
        exit /b %errorlevel%
    )
    
    echo.
    echo 操作完成!按任意键退出...
    pause >nul
    exit /b 0