2015-04-18 2 views
2

Недавно я столкнулся с проблемой создания настраиваемого сертификата, который не привязан к 0.0.0.0 в Neo4j. Оказывается, Neo4j - в отличие от документации - ожидает сертификаты DER для открытого и закрытого ключей.Как использовать пользовательские самоподписанные сертификаты в Neo4j (вместо snakeoil.cert)?

Опубликую уроки, полученные в ответ на этот вопрос.

Роб

ответ

1

Судо 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)

+0

Примечание: убедитесь, что ОБЩЕЕ ИМЯ совпадает с IP-адресом сервера или DNS-именем. – rvaneijk

+0

У вас может быть server.csr, подписанный любым центром сертификации. В этом случае пропустите строки 1, 2, 5. Просто используйте server.csr. После подписания переименуйте подписанный сертификат на server.pem и продолжайте с строки 6. – rvaneijk

+0

См. Также [использование сертификатов SSL в Neo4j] (http://stackoverflow.com/questions/29735738/how-to-use-ssl-certificates- в-Neo4j-вместо-о-самоподписными сертификатов или-SNA) – rvaneijk

1

Начиная с версии 3.0, это было изменено.

  • Откройте /etc/neo4j/neo4j.conf и раскомментируйте и измените следующую строку:

    # dbms.directories.certificates=/PATH/TO/YOUR/CERTIFICATES 
    
  • Убедитесь, что каталог содержит файлы вам сертификат с именем neo4j.key и neo4j.cert.

  • Убедитесь, что файлы могут быть написаны neo4j.

Если вы используете только .pem файлов, вы можете просто переименовать те .cert и .key, они все простые текстовые файлы, .pem это просто расширение.

Смотрите каталог reference

для хранения сертификатов, которые будут использоваться Neo4j для соединений TLS.

Сертификаты хранятся в каталоге сертификатов и называются neo4j.key и neo4j.cert.

Смежные вопросы