在 Windows 控制台中编写脚本创建 OpenVPN 客户端证书,无需“-config”

在 Windows 控制台中编写脚本创建 OpenVPN 客户端证书,无需“-config”

有一组 Windows 批处理脚本作为自动化环境。尝试将 openvpn 客户端证书生成包含到此环境中。从 EasyRSA 2.x 中获得了灵感,其中包括一组将 openssl.exe 参数组装到证书生成过程中的批处理脚本。

出于好的理由,想要避免使用-config file.cfg,并尝试将所有必要的变量写为控制台参数的内容-config。根据这里第三个选项这应该是可能的,但没有找到任何示例,并且链接的手册页不包含任何语法解释,并且是面向 Linux 的。我想要编写脚本的命令:

rem creating request for new certificate
"%HOME%\..\bin\openssl.exe" req -key rsa:2048 -days 3650 -nodes -keyout "%HOME%\keys\%NAME_CN%.key" -out "%HOME%\keys\%NAME_CN%.csr"  -subj "/C=%KEY_COUNTRY%/ST=%KEY_PROVINCE%/L=%KEY_CITY%/O=%KEY_ORG%/OU=%KEY_OU%/CN=%NAME_CN%" 

rem signing request by certification authority key, creating cert/key pair
"%HOME%\..\bin\openssl.exe" ca -days 3650 -cert -out "%HOME%\keys\%NAME_CN%.crt" -in "%HOME%\keys\%NAME_CN%.csr"

rem check if created client certificate is valid
"%HOME%\..\bin\openssl.exe" verify -CAfile "%HOME%\keys\%CA_CRT%.crt" -purpose sslclient "%HOME%\keys\%NAME_CN%.crt"

前两个命令给出以下错误:

Ignoring -days; not generating a certificate
Can't open /etc/ssl/openssl.cnf for reading, No such file or directory
2124:error:02001003:system library:fopen:No such process:crypto/bio/bss_file.c:69:fopen('/etc/ssl/openssl.cnf','r'
)

作为最后的手段,我可​​以创建一个极简的 cfg 文件,其中包含一些注释良好的变量,所有可能在命令行上写入的变量都应该在那里。有人能给我指明正确的方向吗?

相关内容