卡夫卡与杰克的pem联系

时间:2016-12-04 03:43:44

标签: ssl apache-kafka pem jks

现在我有两个jks文件:kafka.client.truststore.jksclient.keystore.jks,但是,python连接库都使用pem文件auth方式。所以我尝试通过这篇文章将这两个文件转换为pem:Connect to Apache Kafka from Python using SSL,并发现这些异常:

Traceback (most recent call last):
File "/Users/luke/Code/python/mykafka/mykafka.py", line 10, in <module>
  ssl_keyfile='/Users/luke/Code/java/kafka-keys/key.pem')
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/kafka/producer/kafka.py", line 328, in __init__
  **self.config)
... ...
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/ssl.py", line 633, in do_handshake
self._sslobj.do_handshake()
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:645)

我从其他人那里收到了这两个jks文件,所以我不知道这些jks文件的别名是什么,所以我按照这个qa:How to check certificate name and alias in keystore files?列出所有别名并找到只有一个,所以使用它在后期。

我创建pem的命令是flollwing:

keytool -list -keystore .keystore

keytool -exportcert -alias kafka-client -keystore kafka.client.keystore.jks -rfc -file certificate.pem

keytool -v -importkeystore -srckeystore kafka.client.keystore.jks -srcalias kafka-  client -destkeystore cert_and_key.p12 -deststoretype PKCS12
openssl pkcs12 -in cert_and_key.p12 -nocerts -nodes

keytool -exportcert -alias ca -keystore kafka.client.truststore.jks -rfc -file CARoot.pem

我想知道出了什么问题,我在java中尝试这两个jks文件,它们运行良好。

0 个答案:

没有答案