[ 
https://issues.apache.org/jira/browse/KAFKA-20676?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Viktor Somogyi-Vass updated KAFKA-20676:
----------------------------------------
    Priority: Minor  (was: Major)

> Broker fails to start when ssl.cipher.suites contains ciphers unavailable in 
> the JSSE provider
> ----------------------------------------------------------------------------------------------
>
>                 Key: KAFKA-20676
>                 URL: https://issues.apache.org/jira/browse/KAFKA-20676
>             Project: Kafka
>          Issue Type: Bug
>          Components: core, security
>            Reporter: Gergely Harmadás
>            Assignee: Gergely Harmadás
>            Priority: Minor
>
> When *ssl.cipher.suites* is configured with an unsupported cipher suite by 
> the JSSE provider the broker fails at startup
> {code:java}
> [2026-06-09 00:27:36,713] ERROR Exiting Kafka due to fatal exception during 
> startup. (kafka.Kafka$)
> org.apache.kafka.common.config.ConfigException: Invalid value 
> java.lang.IllegalArgumentException: Unsupported CipherSuite: 
> TLS_AES_128_CCM_SHA256 for configuration A client SSLEngine created with the 
> provided settings can't connect to a server SSLEngine created with those 
> settings.
>         at 
> org.apache.kafka.common.security.ssl.SslFactory.configure(SslFactory.java:103)
>         at 
> org.apache.kafka.common.network.SslChannelBuilder.configure(SslChannelBuilder.java:68)
>         at 
> org.apache.kafka.common.network.ChannelBuilders.create(ChannelBuilders.java:187)
>         at 
> org.apache.kafka.common.network.ChannelBuilders.serverChannelBuilder(ChannelBuilders.java:104)
>         at kafka.network.Processor.<init>(SocketServer.scala:863)
>         at kafka.network.Acceptor.newProcessor(SocketServer.scala:769)
>         at 
> kafka.network.Acceptor.$anonfun$addProcessors$1(SocketServer.scala:735)
>         at scala.collection.immutable.Range.foreach$mVc$sp(Range.scala:256)
>         at kafka.network.Acceptor.addProcessors(SocketServer.scala:734)
>         at kafka.network.DataPlaneAcceptor.configure(SocketServer.scala:455)
>         at 
> kafka.network.SocketServer.createDataPlaneAcceptorAndProcessors(SocketServer.scala:227)
>         at kafka.network.SocketServer.$anonfun$new$16(SocketServer.scala:153)
>         at 
> kafka.network.SocketServer.$anonfun$new$16$adapted(SocketServer.scala:153)
>         at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:630)
>         at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:628)
>         at scala.collection.AbstractIterable.foreach(Iterable.scala:936)
>         at kafka.network.SocketServer.<init>(SocketServer.scala:153)
>         at kafka.server.BrokerServer.startup(BrokerServer.scala:292)
>         at 
> kafka.server.KafkaRaftServer.$anonfun$startup$2(KafkaRaftServer.scala:97)
>         at 
> kafka.server.KafkaRaftServer.$anonfun$startup$2$adapted(KafkaRaftServer.scala:97)
>         at scala.Option.foreach(Option.scala:437)
>         at kafka.server.KafkaRaftServer.startup(KafkaRaftServer.scala:97)
>         at kafka.Kafka$.main(Kafka.scala:98)
>         at kafka.Kafka.main(Kafka.scala)
> [2026-06-09 00:27:36,714] INFO [ControllerServer id=1] shutting down 
> (kafka.server.ControllerServer){code}
> This behavior has some drawbacks, e.g.:
>  * It is harder to complete JDK upgrades as new versions typically remove 
> support from weak ciphers. A broker that previously worked with a given 
> configuration can suddenly fail
>  * Running Kafka in FIPS environment with custom security policies usually 
> works with a reduces cipher list making it more likely to encounter this issue
> As a possible improvement I would propose to only fail when there is no valid 
> cipher suite in the provided configuration, otherwise just filter out the 
> unsupported ciphers.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to