基于.CSR FIle从RootCA生成证书

时间:2017-07-28 20:18:39

标签: powershell ssl certificate-authority

作为正在进行的项目的一部分,我被要求创建一个PowerShell脚本,该脚本将大量加载.CSR文件,将其上载到我的内部使用的根签名证书颁发机构并生成签名证书。

模板已设置并正常工作 - 如果我想生成证书,我必须手动上传a。 CSR文件到localhost / certsrv /然后转到应用程序,签名并导出。费力的项目。

我在Powershell中遇到过Get-Certificate命令 - 但我似乎无法表达.CSR文件?非常感谢帮助。

谢谢!!

1 个答案:

答案 0 :(得分:2)

使用PowerShell(或您选择的脚本语言,但我喜欢PS),您可以调用CertReq.exe命令来签署证书请求:

certreq -submit <Path to request file> <Path to output cert file>

所以对于批量你可以......

$CSRs = Get-ChildItem C:\CertificateRequests
$OutPath = New-Item C:\IssuedCertificates -ItemType Directory -Force
ForEach($CSR in $CSRs){
    $FileOut = Join-Path $OutPath "$($CSR.BaseName).cer"
    CertReq -submit $CSR.FullName $FileOut
}