Не удается подключиться к Cassandra с SSL с помощью cqlsh

Я пытаюсь настроить SSL (от клиента к узлу) для работы с Cassandra 2.1.2.

Я создал хранилище ключей и хранилище доверенных сертификатов в соответствии с инструкциями, здесь . Затем я обновил cassandra.yaml до следующего:

client_encryption_options:
    enabled: true
    keystore: /etc/cassandra/security/.keystore
    keystore_password: ********
    # require_client_auth: false
    # Set trustore and truststore_password if require_client_auth is true
    truststore: /etc/cassandra/security/.truststore
    truststore_password: ********
    # More advanced defaults below:
    # protocol: TLS
    # algorithm: SunX509
    # store_type: JKS
    # cipher_suites: [TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA]

Я пытаюсь подключиться с помощью cqlsh, но получаю следующую ошибку:

 Connection error: ('Unable to connect to any servers', {'192.168.0.16': ConnectionShutdown('Connection <AsyncoreConnection(140569820674832) 192.168.0.16:9042 (closed)> is already closed',)})

Мой файл cqlshrc выглядит так:

[connection]
hostname = 192.168.0.16
port = 9042
factory = cqlshlib.ssl.ssl_transport_factory

[ssl]
validate = false
certfile = /home/flavien/localhost.pem

Для файла сертификата я пробовал файлы pem и crt, это не имеет значения.

В журналах Cassandra нет никаких доказательств - ни ошибки, ничего.

Моя версия Java такова:

java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)

И я установил файлы политики юрисдикции с неограниченной надежностью Java Cryptography Extension (JCE).

Я также пытался подключиться с помощью DevCenter и драйвера C #, но безрезультатно.

Есть идеи, как я могу заставить эту работу?


person Flavien    schedule 08.12.2014    source источник
comment
Вы запускали cqlsh с флагом --ssl?   -  person Mikhail Stepura    schedule 09.12.2014
comment
Это правильный ответ, я думал, что он будет автоматически использовать SSL, но флаг --ssl на самом деле все еще требуется. Вы можете опубликовать это как ответ, я приму.   -  person Flavien    schedule 10.12.2014


Ответы (1)