为了简化操作并确保批处理文件使用当前目录中的证书文件,你可以修改脚本以自动识别当前目录位置。以下是更新后的脚本示例,它将直接使用批处理文件所在的目录作为证书文件的位置。

更新后的脚本:install_certificates.bat

@echo off
setlocal

REM 获取当前批处理文件所在目录
set CERT_DIR=%~dp0

REM 设置证书文件路径(假设证书文件与批处理文件在同一目录)
set CA_CERT=%CERT_DIR%ca.cer
set SERVER_CERT=%CERT_DIR%drlg.b.cc.cer
set SELF_CERT=%CERT_DIR%\server.pfx

REM 检查证书文件是否存在
if not exist "%CA_CERT%" (
    echo CA certificate file %CA_CERT% does not exist.
    exit /b 1
)

if not exist "%SERVER_CERT%" (
    echo Server certificate file %SERVER_CERT% does not exist.
    exit /b 1
)

REM 导入 CA 证书到受信任的根证书颁发机构存储
echo Importing CA certificate to Trusted Root Certification Authorities store...
certutil -addstore -f "Root" "%CA_CERT%"
if %errorlevel% neq 0 (
    echo Failed to import CA certificate.
    exit /b 1
)
echo CA certificate imported successfully.

REM 导入服务器证书到受信任的根证书颁发机构存储(可选)
echo Importing server certificate to Trusted Root Certification Authorities store...
certutil -addstore -f "Root" "%SERVER_CERT%"
if %errorlevel% neq 0 (
    echo Failed to import server certificate.
    exit /b 1
)
echo Server certificate imported successfully.

REM 导入服务器证书和热门证书(可选)
echo Importing server certificate to Trusted Root Certification Authorities store...
certutil -addstore -f "MY" "%SELF_CERT%"
if %errorlevel% neq 0 (
    echo Failed to import server certificate.
    exit /b 1
)
echo Server certificate imported successfully.

REM 提示重启浏览器或计算机以使更改生效
echo Certificates have been installed. Please restart your browser or computer for changes to take effect.

endlocal
pause

解释

使用方法

  1. 保存证书文件:确保你的 ca.cerdrlg.b.cc.cer 文件与 install_certificates.bat 文件放在同一个目录中。
  2. 创建并编辑批处理文件:将上述脚本复制到一个新的文本文件中,并将其命名为 install_certificates.bat
  3. 运行批处理文件
    • 右键点击该文件,选择“以管理员身份运行”。

注意事项

通过这种方式,你可以确保批处理文件自动识别并使用当前目录中的证书文件,从而简化证书管理和部署过程。如果有任何问题或需要进一步定制,请根据实际情况调整脚本。