如何在 Neo4j 中使用自定义自签名证书(而不是 snakeoil.cert)?
How to use custom self signed certificates in Neo4j (instead of snakeoil.cert)?
最近我 运行 遇到了在 Neo4j 中生成不绑定到 0.0.0.0 的自定义证书的问题。事实证明,与文档相反,Neo4j 需要 public 和私钥的 DER 证书。
我会post吸取教训来回答这个问题。
罗布
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)
从 3.0 开始,这已经改变了。
打开 /etc/neo4j/neo4j.conf
并取消注释并更改以下行:
# dbms.directories.certificates=/PATH/TO/YOUR/CERTIFICATES
确保该目录包含名为 neo4j.key
和 neo4j.cert
.
的证书文件
确保文件可以被 neo4j 写入。
如果您只使用 .pem
文件,您可以将它们重命名为 .cert
和 .key
,它们都是纯文本文件,.pem
是只是一个扩展。
Directory for storing certificates to be used by Neo4j for TLS connections.
Certificates are stored in the certificates directory, and are called neo4j.key
and neo4j.cert
.
最近我 运行 遇到了在 Neo4j 中生成不绑定到 0.0.0.0 的自定义证书的问题。事实证明,与文档相反,Neo4j 需要 public 和私钥的 DER 证书。
我会post吸取教训来回答这个问题。
罗布
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)
从 3.0 开始,这已经改变了。
打开
/etc/neo4j/neo4j.conf
并取消注释并更改以下行:# dbms.directories.certificates=/PATH/TO/YOUR/CERTIFICATES
确保该目录包含名为
的证书文件neo4j.key
和neo4j.cert
.确保文件可以被 neo4j 写入。
如果您只使用 .pem
文件,您可以将它们重命名为 .cert
和 .key
,它们都是纯文本文件,.pem
是只是一个扩展。
Directory for storing certificates to be used by Neo4j for TLS connections.
Certificates are stored in the certificates directory, and are called
neo4j.key
andneo4j.cert
.