2014-01-21 99 views
4

鑑於以下的PowerShell功能:makecert請求密碼

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?

非常感謝

+0

「makecert.exe」創建私鑰時總是提示密碼。 解決這個問題的一個方法是編寫代碼,找到密碼輸入窗口並在其中輸入密碼。 (醜) 另一種是使用OpenSSL。 (首選) OpenSSL中使用「的OpenSSL genrsa -aes128 -passout傳:密碼退房手續$ certificateName.pvk 2048」 ,生成具有密碼或私鑰,如果您使用證書很多,忘記‘makecert.exe’一共使用OpenSSL。 –

回答

1

「Makecert.exe」創建私鑰時總是提示密碼。解決此提示

一種方式可以編寫代碼/宏,找到密碼輸入窗口,並在其中輸入您的密碼。

另一種方法是使用OpenSSL。在OpenSSL中使用

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

生成帶密碼的私鑰。

如果使用證書很多,我會建議忘記「makecert.exe」完全和使用OpenSSL來代替。