Skip to main content
Version: Next version 🚧

SSL encryption

Memgraph uses SSL (Secure Sockets Layer) protocol for establishing an authenticated and encrypted connection to a database instance.

Related -
How-to

Achieving a secure connection is a three-step process that requires

  1. Owning a SSL certificate
  2. Configuring the server
  3. Enabling SSL connection

For any errors that might come up, check out the Help center page on errors.

SSL certificate

SSL certificate is a pair of .pem documents issued by self-signing, or by a Certification Authority. Memgraph contains a self-signed testing certificate (cert.pem and key.pem) located at /etc/memgraph/ssl/.

If you are using Docker and want to use your own certificates, you need to move them into a Docker container in order to utilize them.

Configure the server

To use a certain SSL certificate, change the configuration file to include the --bolt-cert-file and --bolt-key-file flags and set them to the location of the certification files.

If you are using the Memgraph self-signed certificate, set the configuration flags to:

--bolt-cert-file=/etc/memgraph/ssl/cert.pem
--bolt-key-file=/etc/memgraph/ssl/key.pem

When using Linux, be sure that the user memgraph has permissions (400) to access the files.

Once the flags are included in the configuration, you cannot establish an insecure connection.

Enable SSL connection

To enable SSL connection in Memgraph Lab, switch to Connect Manually view and turn the SSL on.

When Memgraph Lab is connected to MemgraphDB using SSL encryption, logs cannot be viewed inside the Lab.