【发布时间】:2015-04-18 11:40:48
【问题描述】:
最近我遇到了在 Neo4j 中生成一个不绑定到 0.0.0.0 的自定义证书的问题。事实证明,Neo4j - 与文档相反 - 期望公钥和私钥都使用 DER 证书。
我将发布针对此问题的经验教训。
罗伯
【问题讨论】:
最近我遇到了在 Neo4j 中生成一个不绑定到 0.0.0.0 的自定义证书的问题。事实证明,Neo4j - 与文档相反 - 期望公钥和私钥都使用 DER 证书。
我将发布针对此问题的经验教训。
罗伯
【问题讨论】:
从 3.0 开始,这已更改。
打开/etc/neo4j/neo4j.conf 并取消注释并更改以下行:
# dbms.directories.certificates=/PATH/TO/YOUR/CERTIFICATES
确保该目录包含名为 neo4j.key 和 neo4j.cert 的证书文件。
确保文件可以被 neo4j 写入。
如果你只使用.pem文件,你可以将它们重命名为.cert和.key,它们都是纯文本文件,.pem只是一个扩展名。
用于存储 Neo4j 用于 TLS 连接的证书的目录。
证书存储在证书目录中,分别称为
neo4j.key和neo4j.cert。
【讨论】:
sudo vi /etc/neo4j/neo4j-server.properties
uncomment org.neo4j.server.webserver.address=0.0.0.0
check: org.neo4j.server.webserver.https.enabled=true
check: org.neo4j.server.webserver.https.port=7473
change: org.neo4j.server.webserver.https.cert.location=/var/ssl/neo4j/server.crt
change: org.neo4j.server.webserver.https.key.location=/var/ssl/neo4j/server.key
现在设置访问 https 注意:私钥和证书都需要是DER格式
openssl genrsa -des3 -out ca.key 4096
openssl req -new -x509 -days 365 -key ca.key -out ca.pem
openssl genrsa -des3 -out server.key 4096
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -CA ca.pem -CAkey ca.key -set_serial 01 -out server.pem
sudo mkdir -p /var/ssl/neo4j
sudo openssl x509 -outform der -in server.pem -out /var/ssl/neo4j/server.crt
sudo openssl rsa -in server.key -inform PEM -out /var/ssl/neo4j/server.key -outform DER
另见[我的笔记] (http://www.blaeu.com/nl/doku.php/Notes)
【讨论】:
Caused by: java.io.IOException: Unrecognized private key format.。