最近、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
andに変更するだけで済みます.key
。これらはすべてプレーン テキスト ファイルで.pem
あり、単なる拡張子です。
リファレンスを見る
TLS 接続のために Neo4j によって使用される証明書を格納するためのディレクトリ。
証明書は証明書ディレクトリに保存され、 および と呼ば
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 )