无法连接Cassandra Python API

2024-05-28 23:09:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我可以使用带有密码字符串的keystore、trustore文件连接到Datastax开发中心。不过,我在网上查了一下,没有关于如何使用这三个文件将python连接到Cassandra的文档。一切都是关于证书和密钥库文件只。我试过了,但没用。你知道吗

主机无法与连接ssl:3517错误。你知道吗


Tags: 文件字符串文档密码ssl错误密钥中心
1条回答
网友
1楼 · 发布于 2024-05-28 23:09:56

Python驱动程序还不能与keystore/trustore一起工作(它们是特定于Java的)。您需要将这些文件中的证书和密钥导出为PEM格式,并按照documentation中所述进行连接:

from cassandra.cluster import Cluster
from ssl import PROTOCOL_TLSv1, CERT_REQUIRED

ssl_opts = {
    'ca_certs': '/path/to/my/ca.certs',
    'ssl_version': PROTOCOL_TLSv1,
    'cert_reqs': CERT_REQUIRED  # Certificates are required and validated
}
cluster = Cluster(ssl_options=ssl_opts)

如果集群启用了客户端的证书检查,那么需要在ssl_opts字典中指定keyfilecertfile参数,将路径传递给密钥和证书文件。有关所有available options,请参阅python文档。你知道吗

您可以从keystore中提取数据,并通过以下方式转换为受支持的PEM格式:

keytool -importkeystore -srckeystore myapp.jks -destkeystore myapp.p12 \
  -srcalias myapp-dev -srcstoretype jks -deststoretype pkcs12
openssl pkcs12 -in myapp.p12 -out myapp.pem

相关问题 更多 >

    热门问题