Zum Inhalt springen
ecdsa.com
Java (JSSE HostnameChecker)Java

Fehlermeldung

No subject alternative names matching IP address 127.0.0.1 found

Auch ausgegeben als

  • java.security.cert.CertificateException: No subject alternative names matching IP address 127.0.0.1 found

Die Adresse ist die aus deiner URL; JDK 21 und neuer stellen dem Text der Exception „(certificate_unknown) “ voran. Für DNS-Hostnamen lautet die Meldung „No subject alternative DNS name matching <host> found.“

Java (JSSE HostnameChecker) — URL host is an IP address that is not an IP SAN of the certificate

Was der Fehler bedeutet

Der Host der URL ist eine IP-Adresse, und das Zertifikat hat in seiner Erweiterung Subject Alternative Name keinen IP-Adress-Eintrag, der ihr entspricht. Java vergleicht IP-Adressen (gemäß RFC 6125) nur mit IP-SAN-Einträgen; DNS-Namen und der Common Name passen nie zu einer Adresse.

Warum der Fehler auftritt

So behebst du den Fehler

  1. 1.

    Über einen DNS-Namen verbinden, den das Zertifikat enthält

    Verwende den Hostnamen und löse ihn zur benötigten Adresse auf; dann besteht die Hostnamenprüfung.

    bash
    # Use the DNS name from the certificate; map it to the IP where needed
    echo "10.0.0.5 api.example.com" | sudo tee -a /etc/hosts
    curl -sI https://api.example.com/
  2. 2.

    Zertifikat mit IP-SAN ausstellen

    Müssen Clients die Adresse verwenden, füge sie als IP-Eintrag hinzu (öffentliche CAs stellen solche Zertifikate selten aus, private CAs können das).

    bash
    # Or issue the certificate with the IP address as an IP SAN entry
    openssl req -new -key server.key -out server.csr -subj "/CN=api.example.com" \
      -addext "subjectAltName=DNS:api.example.com,IP:10.0.0.5"
    keytool -certreq -alias server -keystore server.p12 -ext "SAN=dns:api.example.com,ip:10.0.0.5" -file server.csr

Verwandte Fehler

Gesamte Signaturfehler-Datenbank durchsuchen