Powershell脚本由CA签署SSL CSR?

时间:2009-08-31 23:56:44

标签: windows ssl powershell openssl

我处于需要向我们的代理机构周围的各种设备部署大约200个SSL证书的情况下(HP iLO - 他们带来了这样的快乐......)。目前我有一个从iLO设备获取CSR的powershell脚本,但我现在需要能够以自动方式与我们的CA签名,以便我可以传回脚本并导入设备。

我们正在使用Microsoft证书服务,如果需要,我可以下载CA证书,证书链或CRL。

我真的不在乎如何获得签名证书 - 我的意思是,如果powershell需要调用外部应用程序来签名,那就没关系。我已经看过.NET SDK中的makecert.exe,但似乎无法完成这项工作。

我觉得使用OpenSSL是可能的 - 如果有人可以启发我,那就太棒了。

干杯

3 个答案:

答案 0 :(得分:0)

本文包含从IIS创建CA和签署CSR的步骤: Creating a Self-Signed Certificate using OpenSSL for use with Microsoft Internet Information Services (IIS) 5

您可以将CA导出为OpenSSL可以读取的格式,并按照“签署证书申请”后的步骤进行操作。

答案 1 :(得分:0)

以下是使用该工具管理CA的OpenSSL常见问题解答。

http://www.gtlib.cc.gatech.edu/pub/linux/docs/HOWTO/other-formats/html_single/SSL-Certificates-HOWTO.html

我已成功使用OpenSSL来创建和管理根CA,签署CSR并生成证书。

Powershell本身无法处理这个问题,但它确实能够与整个过程进行交互和编写脚本。

-Oisin

答案 2 :(得分:0)

今天早上与微软工程师打交道,使用现有基础设施进行此操作时,最优雅的解决方案是使用certreq.exe。获得CSR后,可以运行此命令以使用MS CA获取证书:

certreq.exe -attrib "CertificateTemplate:WebServer" infile.csr outfile.cer

从那里,您可以使用Get-Content outfile.cer获取证书以反馈到脚本中。

干杯