canonical / canonical/postgresql-operator

Charm does not handle certificates / CSRs without IP identifier support (ACME)

Open
#1,261 3 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
20
Forks
36
Avg merge
4d 15h
Merged PRs (30d)
30

Description

## Steps to reproduce
```
juju deploy postgresql --channel=16/stable -n 1
juju deploy manual-tls-certificates --channel=1/stable -n 1
juju relate manual-tls-certificates postgresql:client-certificates

# Extract the CSR and inspect it
juju show-unit manual-tls-certificates/0 --endpoint certificates | yq -r '.["manual-tls-certificates/0"]."relation-info"[0]."related-units".[].data.certificate_signing_requests | fromjson[].certificate_signing_request' | openssl req -in - -noout -text

# You should see an IP address in the SANs

Attributes:
Requested Extensions:
X509v3 Subject Alternative Name:
DNS:postgresql-0, DNS:10.46.17.24, IP Address:10.46.17.24, DNS:dpsddev-postgresql-2.dev.esoc.esa.int

# Try to sign this CSR

./acme.sh --signcsr --csr /home/ubuntu/deploy.ggouzi/secrets/tls/csrs/ddev-postgresql/to-sign/0.csr -w /home/ubuntu/deploy.ggouzi/secrets/tls/csrs/ddev-postgresql/signed
....
[Mon Oct 27 01:34:33 PM UTC 2025] Signing from existing CSR.
[Mon Oct 27 01:34:34 PM UTC 2025] Error creating new order. Le_OrderFinalize not found. {"type":"urn:ietf:params:acme:error:unsupportedIdentifier","status":400,"detail":"IPv4 and IPv6 identifier types are not yet supported"}
```

## Expected behavior
Being able to sign CSRs using external CA not allowing IP-based certificates

## Actual behavior
Unable to sign CSRs (it also probably affects certificates as well)

## Versions
postgresql 16.10 channel 16/edge rev 950
OS: Noble 24.04

Juju agent: 3.6.11

## Additional context
> According to the ACME RFC 8738 (for IP identifier support), most CAs, including Sectigo, do not yet support > issuing certificates for raw IP addresses.
> "IPv4 and IPv6 identifier types are not yet supported"

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.