来自neo4j-java-driver 1.6.3的SSL连接

时间:2018-11-02 06:59:41

标签: java ssl neo4j openssl

我是Neo4J DB的全新用户。我需要从Java项目连接到数据库。我同样使用 neo4j-java-driver 1.6.3 。我正在使用 neo4j-enterprise版本3.4.9 (通过Ubuntu 16.04中的Debian存储库安装)。

我设法建立了无身份验证连接和基本身份验证连接。连接启用了 SSL 的服务器时,我遇到了问题。我正在尝试通过以下代码进行连接:

  

驱动程序驱动程序= GraphDatabase.driver(URL,AuthTokens.basic(用户名,密码),Config.build()   .withTrustStrategy(Config.TrustStrategy.trustCustomCertificateSignedBy(certFile))。toConfig());

我遇到以下错误:

  

sun.security.validator.ValidatorException:找不到可信证书

如何在此处创建必要的证书文件?我也是SSL证书的新手。

我的neo4j.conf文件如下所示:

  

dbms.directories.data = / var / lib / neo4j / data   dbms.directories.plugins = / var / lib / neo4j / plugins   dbms.directories.certificates = / var / lib / neo4j / certificates   dbms.directories.logs = / var / log / neo4j   dbms.directories.lib = / usr / share / neo4j / lib   dbms.directories.run = / var / run / neo4j   dbms.directories.metrics = / var / lib / neo4j / metrics

     

dbms.directories.import = / var / lib / neo4j / import

     

dbms.memory.heap.initial_size = 512m dbms.memory.heap.max_size = 512m

     

dbms.connectors.default_listen_address = 0.0.0.0   dbms.connectors.default_advertised_address = X.X.X.X

     

dbms.connector.bolt.enabled = true   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 = / var / lib / neo4j / certificates / bigd   dbms.ssl.policy.bigd.private_key = / var / lib / neo4j / certificates / bigd / private.key   dbms.ssl.policy.bigd.public_certificate = / var / lib / neo4j / certificates / 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

我创建了在Java代码中指定的certFile,如下所示:

  

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-天3650

我认为我可能缺少某些配置,或者我没有正确创建证书。我怎样才能找到我想念的东西?

0 个答案:

没有答案