Kafka application fails with SSLHandshakeException

Symptoms

When a Java application attempts to connect to the Event Gateway, it fails to establish an SSL connection, and throws the following exception:

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

Causes

The Event Gateway default deployment is to allow only TLS v1.3 application connections. The version of Java being used to run the application does not support this level of the TLS protocol.

Resolving the problem

To resolve the problem, configure the gateway instance to support older versions of the TLS protocol by setting an environment variable for TLS_VERSIONS.

For example, in the operator-managed Event Gateway:

# Event Gateway CRD 
    env:
    - name: TLS_VERSIONS
      value: 'TLSv1.2,TLSv1.3'

For a Docker Event Gateway, set the TLS_VERSIONS argument in the Docker run command: docker run -e TLS_VERSIONS="TLSv1.2,TLSv1.3"