Я новый пользователь БД Neo4J. Мне нужно подключиться к БД из моего проекта Java. Я использую neo4j-java-driver 1.6.3 для того же самого. Я использую neo4j-enterprise edition 3.4.9 (устанавливается через репозиторий Debian в Ubuntu 16.04).
Мне удалось установить соединение без аутентификации и соединение с базовой аутентификацией. Возникла проблема при подключении сервера с поддержкой SSL . Я пытаюсь подключиться через код ниже:
Драйвер драйвера = GraphDatabase.driver (url, AuthTokens.basic (имя пользователя, пароль), Config.build ()
.withTrustStrategy (Config.TrustStrategy.trustCustomCertificateSignedBy (CERTFILE)) toConfig ());.
Я получаю следующую ошибку:
sun.security.validator.ValidatorException: доверенный сертификат не найден
Как мне создать необходимый файл сертификата здесь? Я тоже новичок в SSL сертификатах.
Мой файл neo4j.conf выглядит следующим образом:
dbms.directories.data = / вар / Библиотека / Neo4j / данные
dbms.directories.plugins = / вар / Библиотека / Neo4j / плагинов
dbms.directories.certificates = / вар / Библиотека / Neo4j / сертификаты
dbms.directories.logs = / вар / журнал / Neo4j
dbms.directories.lib = / USR / доли / Neo4j / Библиотека
dbms.directories.run = / вар / запустить / Neo4j
dbms.directories.metrics = / вар / Библиотека / Neo4j / Метрики
dbms.directories.import = / вар / Библиотека / Neo4j / импорт
dbms.memory.heap.initial_size = 512 м dbms.memory.heap.max_size = 512 м
dbms.connectors.default_listen_address = 0.0.0.0
dbms.connectors.default_advertised_address = х.х.х.й
dbms.connector.bolt.enabled = истина
dbms.connector.bolt.tls_level = ФАКУЛЬТАТИВНО
dbms.connector.http.enabled = true dbms.connector.https.enabled = true
bolt.ssl_policy = bigd
dbms.ssl.policy.bigd.base_directory = / вар / Библиотека / Neo4j / сертификаты / bigd
dbms.ssl.policy.bigd.private_key = / вар / Библиотека / Neo4j / сертификаты / bigd / private.key
dbms.ssl.policy.bigd.public_certificate = / вар / Библиотека / Neo4j / сертификаты / bigd / public.crt
dbms.ssl.policy.bigd.client_auth = требуется
private.key и public.crt Я создал, как показано ниже:
sudo openssl req -newkey rsa: 2048 -nodes -out neo4j.csr -keyout private.key sudo openssl x509 -req -days 3650 -in neo4j.csr -CA
ca.cert -CAkey ca.key -set_serial 01 -out public.crt
Я создал certFile, указанный в коде Java следующим образом:
sudo openssl genrsa -out neo4j-client.key 2048 sudo openssl req -new -out neo4j-client.csr -key neo4j-client.key -subj "/CN=10.0.1.67/O=example. com "sudo openssl x509 -req -in
neo4j-client.csr -CA ca.cert -CAkey ca.key -CAserial ./ca.srl -out
neo4j-client.crt -days 3650
Я думаю, что мне не хватает какой-то конфигурации или я не создаю сертификаты должным образом. Как я могу узнать, что мне не хватает?