Cassandra Python API не может быть подключен - PullRequest
0 голосов
/ 07 декабря 2018

Я могу использовать хранилище ключей, файлы trustore со строкой пароля для подключения к Datastax Dev Center.Однако я посмотрел в интернете, что нет документации о том, как использовать три файла для подключения Python к Cassandra.Все только о сертификате и файле хранилища ключей.Я попробовал, но это не сработало.

Хост не может быть подключен с ошибкой ssl: 3517.

1 Ответ

0 голосов
/ 07 декабря 2018

Python драйвер еще не работает с хранилищем ключей / trustore (они специфичны для Java).Вам необходимо экспортировать сертификат и ключ из этих файлов в формат PEM и подключиться, как описано в документации :

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)

, если в кластере включена проверка сертификата клиента, вам необходимо указатьПараметры keyfile и certfile в словаре ssl_opts, передавая путь к файлам ключей и сертификатов.См. Документацию python для всех доступных опций .

Вы можете извлечь данные из хранилища ключей и преобразовать их в поддерживаемый формат PEM с помощью чего-то вроде:

keytool -importkeystore -srckeystore myapp.jks -destkeystore myapp.p12 \
  -srcalias myapp-dev -srcstoretype jks -deststoretype pkcs12
openssl pkcs12 -in myapp.p12 -out myapp.pem
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...