I am using an ACME server other than Let's Encrypt, and I observe PVE is having issues creating the CSR for IP addresses.
Depending of the order of the domains (the actual domain and the IP) to be verified I add in the GUI to be verified it creates a bad CSR that is not accepted by the ACME server.
If I try a different order, then I may get the certificate. However, the IP comes in the certificate as a DNS entry, not as an IP entry. So, any HTTPS request is refused because the Subject Alternative Name does not match due to the wrong entry type. As reported by `curl`:
Inspecting the certificate:
Instead, the CSR should request:
Depending of the order of the domains (the actual domain and the IP) to be verified I add in the GUI to be verified it creates a bad CSR that is not accepted by the ACME server.
If I try a different order, then I may get the certificate. However, the IP comes in the certificate as a DNS entry, not as an IP entry. So, any HTTPS request is refused because the Subject Alternative Name does not match due to the wrong entry type. As reported by `curl`:
Code:
* Server certificate:
* subject: CN=pve.host
* start date: Apr 21 12:24:03 2023 GMT
* expire date: Apr 22 12:25:03 2023 GMT
* subjectAltName does not match 10.1.1.7
* SSL: no alternative certificate subject name matches target host name '10.1.1.7'
* Closing connection 0
Inspecting the certificate:
Code:
[...]
X509v3 Subject Alternative Name:
DNS:10.1.1.7, DNS:pve.host
[...]
Instead, the CSR should request:
Code:
[...]
X509v3 Subject Alternative Name:
DNS:pve.host, IP Address:10.1.1.7
[...]