Use certificados LetsEncrypt com o Neo4j

8

Como se pode usar os arquivos de certificado gerados pelo LetsEncrypt junto com uma instância do Neo4j? Os arquivos gerados pelo LetsEncrypt são:

  • cert.pem
  • chain.pem
  • fullchain.pem
  • privkey.pem

Eu tentei a conversão via OpenSSL sem sorte até agora, usando a conversão de PEM para DER. O Neo4j reclama por não ter encontrado os documentos no início. A questão é como converter os certificados LetsEncrypt em algo que o Neo4j possa usar.

Detalhes da configuração:

  • Os certificados são colocados /var/lib/neo4j/certificates/com nomes neo4j.{cert,key}, permissões 600, de propriedade de neo4j:nogroup. Tudo isso parece estar de acordo com os documentos .
  • Na configuração, tenho esta linha para especificar o caminho do certificado: dbms.directories.certificates=/var/lib/neo4j/certificates
  • Na configuração, também tenho acesso remoto via HTTPS ativado: dbms.connector.https.address=0.0.0.0:7473

Ao reiniciar o Neo4j, recebo a seguinte mensagem de erro:

WARN  Illegal character 0x16 in state=START for buffer HeapByteBuffer@5a260174[p=1,l=193,c=8192,r=192]={\x16<<< SEVERAL_LINES_OF_HEX_JIBBERISH_HERE }
WARN  badMessage: 400 Illegal character 0x16 for HttpChannelOverHttp@5d682358{r=0,c=false,a=IDLE,uri=-}
Michael Johansen
fonte
Pelo menos você deve fornecer os erros que você está recebendo ...
gf_
Bom ponto. A mensagem de erro e os esclarecimentos foram adicionados.
Michael Johansen
Observe que, de acordo com a documentação, você precisa converter apenas a chave. Para cert, use fullchain.pem
Hardy Rust
O uso da cadeia completa para o certificado fez o truque. Obrigado!
Michael Johansen

Respostas:

10

Consegui usar o certificado de criptografia lets no neo4j usando o seguinte processo:

  • Usei o cliente letsencrypt / acme implementado como um método de script de shell para fazer o certificado para o meu domínio.
  • Três arquivos são gerados executando o script para obter o certificado fullchain.pem cert.pem privkey.pem
  • Copie-os para o diretório de certificados do neo4j

    mv /path_to_lets_encrypt_certs_dir/fullchain.pem /var/lib/neo4j/certificates/neo4j.cert

    mv /path_to_lets_encrypt_certs_dir/privkey.pem /var/lib/neo4j/certificates/neo4j.key

  • Reinicie o neo4j

anirudh@prok:~# /var/lib/neo4j/bin/neo4j restart
Stopping Neo4j.. stopped
Starting Neo4j.
WARNING: Max 1024 open files allowed, minimum of 40000 recommended.  See the Neo4j manual.
Started neo4j (pid 17608). By default, it is available at  https://your-domain:7473/
There may be a short delay until the server is ready.
See /var/lib/neo4j/logs/neo4j.log for current status.

Isso deve executá-lo para você. Espero que isto ajude!

Anirudh Malhotra
fonte