为 iLO 生成证书

为 iLO 生成证书

我想使用 letsencrypt 为 iLO Web 控制台(iLO 是 HP 服务器的管理引擎)生成适当的证书。据我所知,没有办法将私钥安装到 iLO 中,因此我从 iLO 生成了 CSR。它包含以下字段:

Requested Extensions:
    X509v3 Subject Alternative Name: 
        DNS:ilo.example.com, IP Address:192.168.1.11

我发现没有办法从 CSR 中排除 IP 地址部分。我不需要它,我只会使用 ilo.example.com。现在我发布了

certbot certonly --manual --staging --preferred-challenges=dns --csr csr 

命令,完成DNS验证,但出现错误:

An unexpected error occurred:
The request message was malformed :: Error creating new cert :: CSR contains one or more IP address fields
Please see the logfiles in /var/log/letsencrypt for more details.

据我所知,CSR 是由私钥签名的,因此我无法编辑它。我可以要求 letsencrypt 忽略 IP 地址并仅为 ilo.example.com 颁发证书吗?或者还有其他方法吗?

答案1

答案2

请用我的 公用事业处理 CSR 生成和 DNS 挑战(此处仅限 GoDaddy)。

该实用程序需要 Powershell 并由三个脚本组成,其中一个是 Certbot 本身。

  1. 请求 iLO 生成 CSR 并下载的脚本
  2. Certbot 将在 CSR 上请求证书
  3. 实用程序更新 GoDaddy DNS 以确认 DNS 挑战

请注意,使用 HPE iLO 只能执行 DNS 质询。

我编写的脚本利用 HPE iLO API 请求生成不带 IP 地址的 CSR。它在我的两台服务器上都有效。

披露。我制作了这个工具,并在 GitHub 上根据 MIT 许可证发布

相关内容