Kafka ssl org.apache.kafka.common.errors.SslAuthenticationException: SSL handshake failed

报错日志

exception=[ org.springframework.kafka.KafkaException: Send failed; nested exception is org.apache.kafka.common.errors.SslAuthenticationException: SSL handshake failed

2023-04-10T10:04:56.223152054Z Caused by: org.apache.kafka.common.errors.SslAuthenticationException: SSL handshake failed
2023-04-10T10:04:56.223154233Z Caused by: javax.net.ssl.SSLHandshakeException: General SSLEngine problem
2023-04-10T10:04:56.223156446Z  at sun.security.ssl.Handshaker.checkThrown(Handshaker.java:1521)
2023-04-10T10:04:56.223158686Z  at sun.security.ssl.SSLEngineImpl.checkTaskThrown(SSLEngineImpl.java:528)
2023-04-10T10:04:56.223160947Z  at sun.security.ssl.SSLEngineImpl.writeAppRecord(SSLEngineImpl.java:1197)
2023-04-10T10:04:56.223163201Z  at sun.security.ssl.SSLEngineImpl.wrap(SSLEngineImpl.java:1165)
2023-04-10T10:04:56.223165544Z  at javax.net.ssl.SSLEngine.wrap(SSLEngine.java:469)
2023-04-10T10:04:56.223167756Z  at org.apache.kafka.common.network.SslTransportLayer.handshakeWrap(SslTransportLayer.java:473)
2023-04-10T10:04:56.223169996Z  at org.apache.kafka.common.network.SslTransportLayer.doHandshake(SslTransportLayer.java:336)
2023-04-10T10:04:56.223172145Z  at org.apache.kafka.common.network.SslTransportLayer.handshake(SslTransportLayer.java:286)
2023-04-10T10:04:56.223176818Z  at org.apache.kafka.common.network.KafkaChannel.prepare(KafkaChannel.java:173)
2023-04-10T10:04:56.223179109Z  at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:547)
2023-04-10T10:04:56.223181388Z  at org.apache.kafka.common.network.Selector.poll(Selector.java:485)
2023-04-10T10:04:56.223183598Z  at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:550)
2023-04-10T10:04:56.223185821Z  at org.apache.kafka.clients.producer.internals.Sender.runOnce(Sender.java:324)
2023-04-10T10:04:56.223188045Z  at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:239)
2023-04-10T10:04:56.223190168Z  at java.lang.Thread.run(Thread.java:748)
2023-04-10T10:04:56.223192210Z Caused by: javax.net.ssl.SSLHandshakeException: General SSLEngine problem
2023-04-10T10:04:56.223194358Z  at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
2023-04-10T10:04:56.223196503Z  at sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1709)
2023-04-10T10:04:56.223198766Z  at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:318)
2023-04-10T10:04:56.223200976Z  at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:310)
2023-04-10T10:04:56.223203156Z  at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1639)
2023-04-10T10:04:56.223205400Z  at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:223)
2023-04-10T10:04:56.223207637Z  at sun.security.ssl.Handshaker.processLoop(Handshaker.java:1037)
2023-04-10T10:04:56.223209751Z  at sun.security.ssl.Handshaker$1.run(Handshaker.java:970)
2023-04-10T10:04:56.223212290Z  at sun.security.ssl.Handshaker$1.run(Handshaker.java:967)
2023-04-10T10:04:56.223214464Z  at java.security.AccessController.doPrivileged(Native Method)
2023-04-10T10:04:56.223216681Z  at sun.security.ssl.Handshaker$DelegatedTask.run(Handshaker.java:1459)
2023-04-10T10:04:56.223218906Z  at org.apache.kafka.common.network.SslTransportLayer.runDelegatedTasks(SslTransportLayer.java:425)
2023-04-10T10:04:56.223221225Z  at org.apache.kafka.common.network.SslTransportLayer.handshakeUnwrap(SslTransportLayer.java:509)
2023-04-10T10:04:56.223223500Z  at org.apache.kafka.common.network.SslTransportLayer.doHandshake(SslTransportLayer.java:363)
2023-04-10T10:04:56.223231190Z  ... 8 more
Caused by: sun.security.validat
or.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

问题由来:
aliyun kafka 使用ssl从公网连接,之前使用的证书好好的,过了一段时间发现不太行了

解决思路:
证书问题,更换官方推荐的证书,即修复了问题
旧的证书:kafka.client.truststore.jks
新的证书:only.4096.client.truststore.jks

https://help.aliyun.com/document_detail/68325.html?spm=a2c4g.182891.0.0.47886899npQlBO

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个错误通常是因为Kafka Broker的SSL证书无法被客户端信任所致。解决这个问题的方法是在你的应用程序中添加Kafka Broker的SSL证书,以便客户端可以信任它。 你可以按照以下步骤来解决这个问题: 1. 在你的浏览器中打开Kafka Broker的URL,并下载其SSL证书。在大多数情况下,你可以在浏览器的地址栏中点击锁形图标来查看证书并下载。 2. 将证书保存到你的电脑上,并使用Java的keytool工具将其导入到你的Java证书库中。例如,如果你使用的是Oracle JDK,则可以使用以下命令: ``` keytool -importcert -alias kafka -file /path/to/kafka/cert.pem -keystore $JAVA_HOME/jre/lib/security/cacerts ``` 其中,/path/to/kafka/cert.pem应该替换为你下载的证书的实际路径,$JAVA_HOME应该替换为你的Java安装路径。 3. 在你的Spring Boot应用程序中配置Kafka客户端以使用SSL连接,并指定信任的证书。以下是一个示例配置: ``` spring: kafka: bootstrap-servers: kafka.example.com:9093 security: protocol: SSL trust-store-location: /path/to/truststore.jks trust-store-password: changeit ``` 其中,bootstrap-servers应该替换为你的Kafka Broker的实际地址和端口号,trust-store-location应该替换为你导入证书后生成的Java证书库路径,trust-store-password应该替换为你的Java证书库密码。 通过以上步骤,你应该能够成功地连接到Kafka Broker并发送/接收消息了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值