Saltar al contenido
ecdsa.com
Java (JSSE)Java

Mensaje de error

javax.net.ssl.SSLException: Unsupported or unrecognized SSL message

También se muestra como

  • Unsupported or unrecognized SSL message

JDK 25 imprime el mismo texto en el lado del cliente y en un servidor JSSE que recibe HTTP plano (comprobados ambos casos). Cuando el otro extremo no envía nada y cierra, Java notifica en cambio «Remote host terminated the handshake».

Java (JSSE) — the peer's reply is not a TLS record

Qué significa

JSSE esperaba un registro TLS y recibió bytes que no puede analizar como tal, casi siempre el texto de una respuesta HTTP de un servidor HTTP plano. En el lado del cliente, se usó https:// contra un puerto que no habla TLS; en el lado del servidor (un listener TLS de Tomcat o Netty), un cliente envió HTTP plano al puerto TLS. El certificado no tiene nada que ver aquí.

Por qué ocurre

Cómo solucionarlo

  1. 1.

    Comprobar qué habla el puerto

    Si el puerto responde con HTTP plano, usa http:// o el puerto TLS real.

    bash
    curl -si http://api.example.com:8080/ | head -1      # an HTTP status line -> not TLS
    openssl s_client -connect api.example.com:8443 -brief </dev/null
  2. 2.

    Clientes de correo y de directorio: hacer coincidir el modo TLS con el puerto

    Usa STARTTLS en el puerto de envío (587) y TLS implícito solo en el 465 (o ldaps:// en el 636).

    text
    # Mail (Jakarta Mail): STARTTLS on 587, implicit TLS on 465
    mail.smtp.port=587
    mail.smtp.starttls.enable=true
    mail.smtp.starttls.required=true
    # (mail.smtp.ssl.enable=true belongs to port 465 only)
  3. 3.

    Propietarios del servidor: separar los puertos HTTP y HTTPS

    Apunta los clientes y las comprobaciones de estado a https://, o expón un conector HTTP plano que redirija al puerto TLS.

    text
    # Spring Boot server logging this for incoming requests: plain HTTP sent to the TLS port.
    # Use https:// on server.port, or add a separate HTTP connector that redirects to HTTPS.

Errores relacionados

Explorar toda la base de datos de errores de firma