我处于需要向我们的代理机构周围的各种设备部署大约200个SSL证书的情况下(HP iLO - 他们带来了这样的快乐......)。目前我有一个从iLO设备获取CSR的powershell脚本,但我现在需要能够以自动方式与我们的CA签名,以便我可以传回脚本并导入设备。
我们正在使用Microsoft证书服务,如果需要,我可以下载CA证书,证书链或CRL。
我真的不在乎如何获得签名证书 - 我的意思是,如果powershell需要调用外部应用程序来签名,那就没关系。我已经看过.NET SDK中的makecert.exe,但似乎无法完成这项工作。
我觉得使用OpenSSL是可能的 - 如果有人可以启发我,那就太棒了。
干杯
答案 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常见问题解答。
我已成功使用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获取证书以反馈到脚本中。
干杯