Zum Inhalt springen
ecdsa.com
Java (JSSE)Java

Fehlermeldung

javax.net.ssl.SSLHandshakeException: (protocol_version) Received fatal alert: protocol_version

Auch ausgegeben als

  • javax.net.ssl.SSLHandshakeException: Received fatal alert: protocol_version

JDK 21 und neuer geben den Namen des Alerts in Klammern mit aus. Wählt der Server stattdessen eine Version, die die JVM ablehnt, meldet Java „The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]“.

Java (JSSE) — TLS alert 70 received from the server

Was der Fehler bedeutet

Der Server hat die von der JVM angebotenen TLS-Versionen abgelehnt und mit dem Alert 70 (protocol_version) geantwortet. Aktuelle JDKs bieten nur TLS 1.3 und 1.2 an (1.0 und 1.1 stehen in jdk.tls.disabledAlgorithms), daher hat ein Server, der auf die alten Versionen beschränkt ist, keine gemeinsame Version mit ihnen.

Warum der Fehler auftritt

So behebst du den Fehler

  1. 1.

    Versionen ermitteln, die der Server akzeptiert

    Teste jede Version einzeln mit openssl s_client; bring dann die veraltete Seite auf den aktuellen Stand.

    bash
    for v in tls1 tls1_1 tls1_2 tls1_3; do
      printf '%-7s ' "$v"
      echo | openssl s_client -connect legacy.example.com:443 -servername legacy.example.com -"$v" \
        -cipher 'DEFAULT:@SECLEVEL=0' >/dev/null 2>&1 && echo accepted || echo refused
    done
  2. 2.

    Protokollfestlegungen im Client entfernen

    Suche in Startskripten und JVM-Optionen nach https.protocols oder jdk.tls.client.protocols; lass TLSv1.3 und TLSv1.2 zu.

    bash
    # Do not pin old versions on the client; let JSSE offer 1.3 and 1.2
    grep -rn 'https.protocols\|jdk.tls.client.protocols' /etc/default/app* "$JAVA_HOME/conf" 2>/dev/null
    java -Djdk.tls.client.protocols=TLSv1.3,TLSv1.2 -jar app.jar
  3. 3.

    TLS 1.2 und 1.3 auf dem Server aktivieren

    Die dauerhafte Lösung: Jeder gepflegte Client unterstützt beide Versionen.

    text
    # Server side: enable TLS 1.2 and 1.3
    ssl_protocols TLSv1.2 TLSv1.3;

Verwandte Fehler

Gesamte Signaturfehler-Datenbank durchsuchen