gpt4 book ai didi

ssl - Kafka 在尝试开始使用 PEM 证书时返回 "No matching PRIVATE KEY entries in PEM file"

转载 作者:行者123 更新时间:2023-12-04 22:36:36 26 4
gpt4 key购买 nike

首先,我看过this thread但它不相关并且有不同的问题。
我的 Kafka 属性文件中有以下设置片段:

ssl.keystore.type=PEM
ssl.keystore.key=/path/to/private.key
ssl.keystore.certificate.chain=/path/to/certificate.pem

ssl.truststore.type=PEM
ssl.truststore.certificates=/path/to/ca.pem

ssl.endpoint.identification.algorithm=
请注意 ssl.endpoint.identification.algorithm使用单服务器证书是因为集群中的每个服务器都使用单服务器证书,因此我必须以这种方式绕过 SSL 主机名验证。
启动 Kafka 时,我得到以下信息:
org.apache.kafka.common.KafkaException: org.apache.kafka.common.errors.InvalidConfigurationException: Invalid PEM keystore configs
at org.apache.kafka.common.network.SaslChannelBuilder.configure(SaslChannelBuilder.java:184)
at org.apache.kafka.common.network.ChannelBuilders.create(ChannelBuilders.java:192)
at org.apache.kafka.common.network.ChannelBuilders.serverChannelBuilder(ChannelBuilders.java:107)
at kafka.network.Processor.<init>(SocketServer.scala:853)
at kafka.network.SocketServer.newProcessor(SocketServer.scala:442)
at kafka.network.SocketServer.$anonfun$addDataPlaneProcessors$1(SocketServer.scala:299)
at scala.collection.immutable.Range.foreach$mVc$sp(Range.scala:190)
at kafka.network.SocketServer.addDataPlaneProcessors(SocketServer.scala:297)
at kafka.network.SocketServer.$anonfun$createDataPlaneAcceptorsAndProcessors$1(SocketServer.scala:262)
at kafka.network.SocketServer.$anonfun$createDataPlaneAcceptorsAndProcessors$1$adapted(SocketServer.scala:259)
at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:563)
at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:561)
at scala.collection.AbstractIterable.foreach(Iterable.scala:919)
at kafka.network.SocketServer.createDataPlaneAcceptorsAndProcessors(SocketServer.scala:259)
at kafka.network.SocketServer.startup(SocketServer.scala:131)
at kafka.server.KafkaServer.startup(KafkaServer.scala:285)
at kafka.Kafka$.main(Kafka.scala:109)
at kafka.Kafka.main(Kafka.scala)
Caused by: org.apache.kafka.common.errors.InvalidConfigurationException: Invalid PEM keystore configs
Caused by: org.apache.kafka.common.errors.InvalidConfigurationException: No matching PRIVATE KEY entries in PEM file
事情是 - private.key , certificate.pemca.pem是有效文件并与其他应用程序/客户端库一起使用。其中我曾经创建 keystore /信任库,它工作正常。使用 keystore /信任库时,我还使用这 3 个文件从 Python 连接到 Kafka,它工作得很好。我确认这些文件是有效的,并且与其他应用程序没有问题。
另请注意,私钥是 PKCS#8类型,这是 Kafka 所期望的:
-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----
我究竟做错了什么?

最佳答案

使用 PEM 存储类型和 ssl.keystore.key 时需要指定 PEM 文件内容和 ssl.keystore.certificate.chain特性:

security.protocol=SSL
ssl.keystore.type=PEM

ssl.keystore.key=-----BEGIN PRIVATE KEY----- \
................................................................ \
.........................................= \
-----END PRIVATE KEY-----

ssl.keystore.certificate.chain=-----BEGIN CERTIFICATE----- \
................................................................ \
-----END CERTIFICATE-----

关于ssl - Kafka 在尝试开始使用 PEM 证书时返回 "No matching PRIVATE KEY entries in PEM file",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68742912/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com