我想使用 letencrypt 为 iLO Web 控制台(iLO 是 HP 服务器的管理引擎)生成适当的证书。AFAIK 无法将私钥安装到 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.
AFAIK CSR 由私钥签名,所以我无法编辑它。我可以要求letsencrypt忽略IP地址并仅为ilo.example.com颁发证书吗?还是有其他方法?
给你:https ://community.letsencrypt.org/t/how-to-automatic-certificate-install-on-an-hp-ilo4-management-processor/31038
请使用我 处理 CSR 生成和 DNS 挑战的实用程序(此处仅使用 GoDaddy)。
该实用程序需要 Powershell,由三个脚本组成,其中一个是 Certbot 本身。
请注意,使用 HPE iLO 只能执行 DNS 质询。
我制作的脚本利用 HPE iLO API 来请求生成没有 IP 地址的 CSR。它在我的两台服务器上运行。
披露。我制作了这个工具并在 GitHub 上根据 MIT 许可发布