Защита Neo4J с помощью TLS с помощью протокола болтов - PullRequest
0 голосов
/ 12 декабря 2018

Конфигурация сервера Neo4J позволяет настроить политику на стороне сервера для защиты подключений HTTPS и BOLT.

В моей установке я защитил подключение BOLT, настроив политику с открытым и закрытым ключом PEM и параметрами:

dbms.connector.bolt.enabled=true
dbms.connector.bolt.tls_level=REQUIRED
bolt.ssl_policy=my_policy

dbms.ssl.policy.my_policy..base_directory=...
...

Настройка работает с клиентом браузера.Когда я подключаюсь к серверу через HTTPS, я могу войти в систему с помощью команды «: server connect» и использовать браузер Neo4J с моим сервером.

Что я не могу сделать, так это выяснить, как другой клиент может подключиться к Neo4Jс безопасным протоколом BOLT.В частности, я попытался подключиться из cypher-shell и из Java-клиента (используя Java Driver v 1.6).Когда TLS для BOLT отключен, оба подключаются без помехи.Включение TLS приводит к ошибке bad_certificate у обоих клиентов.

Я попытался запустить и cypher-shell, и мой Java-клиент, передав свойства JVM, указывающие на мое хранилище доверия и хранилище ключей

(-Djavax.net.ssl.keyStore=... 
  -Djavax.net.ssl.keyStorePassword=...
  -Djavax.net.ssl.trustStore=...
  -Djavax.net.ssl.trustStorePassword=...)

Эти свойства имеютне влияет ни на клиента Neo4J.Я получаю исключение bad_certificate.

Я попытался включить отладку SSL (-Djavax.net.debug = ssl, рукопожатие).Вызов Java-клиента или оболочки cypher с параметрами хранилища ключей и доверенных сертификатов не влияет на выходные данные отладки SSL.

Как подключиться к серверу с поддержкой TLS для BOLT из оболочки шифра или Java-клиента?

Спасибо.

...