makecert请求密码

时间:2014-01-21 14:29:31

标签: powershell certificate makecert

给出以下powershell函数:

function CreateRootCertificate($certificateName, $path, $certificatePassword){
    makecert -r -pe -n "CN=$certificateName" -sky exchange $path\$certificateName.cer -sv $path\$certificateName.pvk
    pvk2pfx.exe -pvk $path\$certificateName.pvk -spc $path\$certificateName.cer -pfx $path\$certificateName.pfx -po $certificatePassword
}

makecert提示我输入证书密码。根据我的理解它不会这样做,如果* .pvk文件已经存在,并且设置了密码。

我的问题是,如何在两个单独的命令中拆分我的单个makecert命令,一个用于创建* .pvk而另一个用于创建* .cer?

非常感谢

1 个答案:

答案 0 :(得分:2)

创建私钥时,“Makecert.exe”将始终提示输入密码。

此提示的一种方法可能是编写代码/宏,找到密码输入窗口并在其中输入密码。

另一种是使用OpenSSL。在OpenSSL中使用

openssl genrsa -aes128 -passout pass:password -out $certificateName.pvk 2048

生成带密码的私钥。

如果您经常使用证书,我建议完全忘记“makecert.exe”并改为使用OpenSSL。