我有大约100个CSR在Windows PKI上签名。 我想知道是否可以批量提交,通过批处理或PowerShell脚本发布和导出这些CSR,可能使用cert util,以及如何做到这一点。
我的search没有拿出任何东西,但我仍然认为这应该是可以做到的。 任何帮助将不胜感激。
谢谢。
我在独立的Windows 2003 CA上使用了命令行工具,但是我确定他们在新版本上的工作方式也是一样的。
提交请求
certreq.exe -config .\MyCA -submit myhost1.req
这返回这样的东西:
RequestId: 555 Certificate request is pending: Taken Under Submission (0)
您可以发出请求:
certutil.exe -resubmit 555
并将其导出到一个文件中:
certreq.exe -config .\MyCA -Retrieve 555 myhost1.cer
因此,通过这个知识和100个请求文件,您可以使用PowerShell:
certreq submit
命令的输出,以在后面的两个步骤中获取您需要的请求标识。 -config .\myCA
是指定要使用的CA,本例中是在本地机器上使用名称“myCA”。
如果系统中已经有请求,则需要遍历所有待处理的请求,然后针对每个请求运行最后两个步骤。
我在发现这个问题的同时也做了类似的事情; 我有一堆由HP iLO设备生成的Base64格式的CSR,并希望使用我们的AD证书服务企业CA对它们进行签名。
我最终设法使用这个命令:
certreq -config "caserver01.mydomain.com\Name of My CA" -attrib "CertificateTemplate:CNOfMyCertificateTemplate" -submit c:\myCSR.csr c:\pathToSaveCertificate.cer
NB //
您需要指定证书模板的CN而不是显示名称。 我用ADSIedit在这里find了CN:
CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=mydomain,DC=com
域中所有企业CA的名称都可以通过运行find
certutil -dump
我的用户帐户不需要批准使用该证书模板,因此它们会自动发出,并由certreq直接下载。 我不确定在CA上是如何build立的,或者是一个特别好的主意。 如果请求需要被批准,我相信你需要运行一个单独的“certreq -retrieve”命令来下载证书,一旦被批准。
希望这可以帮助别人!