Utiliser les certificats LetsEncrypt avec Neo4j

8

Comment utiliser les fichiers de certificats générés par LetsEncrypt avec une instance Neo4j? Les fichiers générés par LetsEncrypt sont:

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

J'ai essayé la conversion via OpenSSL sans succès jusqu'à présent, en utilisant la conversion de PEM en DER. Neo4j se plaint de ne pas avoir trouvé les certificats au démarrage. La question est de savoir comment convertir les certificats LetsEncrypt en quelque chose que Neo4j peut utiliser.

Détails de configuration:

  • Les certificats sont placés /var/lib/neo4j/certificates/avec des noms neo4j.{cert,key}, des autorisations 600appartenant à neo4j:nogroup. Tout cela semble être conforme aux documents .
  • Dans la configuration, j'ai cette ligne pour spécifier le chemin du certificat: dbms.directories.certificates=/var/lib/neo4j/certificates
  • Dans la configuration, j'ai également accès à distance via HTTPS activé: dbms.connector.https.address=0.0.0.0:7473

Au redémarrage de Neo4j, j'obtiens le message d'erreur suivant:

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
la source
Au moins, vous devez fournir les erreurs que vous obtenez ...
gf_
Bon point. Un message d'erreur et des clarifications sont maintenant ajoutés.
Michael Johansen
Notez que selon la documentation, vous devez convertir uniquement la clé. Pour cert, utilisez simplement fullchain.pem
Hardy Rust
L'utilisation de la chaîne complète pour le certificat a fait l'affaire. Merci!
Michael Johansen

Réponses:

10

J'ai pu utiliser le certificat permet de chiffrer sur neo4j en utilisant le processus suivant:

  • J'ai utilisé le client letsencrypt / acme implémenté comme méthode de script shell pour créer le certificat pour mon domaine.
  • Trois fichiers sont générés en cours d' exécution du script pour obtenir le certificat fullchain.pem cert.pem privkey.pem
  • Copiez-les dans le répertoire des certificats de 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

  • Redémarrez 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.

Cela devrait l'exécuter pour vous. J'espère que cela t'aides!

Anirudh Malhotra
la source