windows - CA 对 SSL CSR 的 Powershell 脚本签名?

标签 windows ssl powershell openssl

我处于这样一种情况,我需要将大约 200 个 SSL 证书部署到我们机构周围的各种设备(HP iLO - 它们带来的乐趣......)。目前我有一个从 iLO 设备获取 CSR 的 powershell 脚本,但我现在需要能够以自动方式使用我们的 CA 对其进行签名,以便我可以传回脚本并导入到设备中。

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

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

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

干杯

最佳答案

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

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

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

干杯

关于windows - CA 对 SSL CSR 的 Powershell 脚本签名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1359956/

相关文章:

c# - 防止对话框在按钮的单击事件处理程序中关闭

ruby - 使用 'standard' Ruby 1.9.2 在 Windows XP 上安装 ActiveScriptRuby 是否安全

c++ - send(),返回 Winsock 错误 10038

java - 如何添加新的 SSL 连接 Spring Boot jks cacerts

windows - 如何在批处理中迭代两个列表

ruby - 为什么我只在 Windows 上收到 OpenSSL::SSL::SSLError?

security - 加密授权组播

powershell - 在 Powershell 构造函数中按类型重载?

php - 需要正则表达式来匹配多行,直到在公共(public)分隔符之间找到匹配

powershell - 从字符串行中删除空格并将其用于数组