TLS with bolt in neo4j-driver

Hello Neo4J community!
I have a question regarding the use of TLS with the 'neo4j-driver' javascript library. I'm referencing this table in the documentation while trying to create my driver connection.

const driver = neo4j.driver(
    "bolt+ssc://SERVER_LOC:7867",
    neo4j.auth.basic(process.env.neo4jUser, process.env.neo4jPswd)
  );

However every time this is run, the library throws an error stating,

(node:25) UnhandledPromiseRejectionWarning: Error: Unknown scheme: bolt+ssc

I have already configured the SSL options. Https works and I can connect to the Neo4J Browser application and execute commands there just fine. There's also this super old issue on the repository itself, that makes it seem like TLS connections aren't possible? So the application documentation shows the secure connection schemas, but when I try to use them in the library for my application, the library claims they are unsupported. Not really sure one way or the other at this point. So I'm posting here in hopes that someone has a clear answer to

Does the neo4j-driver library support tls database connections? If so what do you have to do to create one?

I'm also going to create a github issue about this and link it here, in case I get an answer there as well.

The new schemes that are listed in the driver documentation you're reading are only available as of driver versions 4.0.1+ I believe. If you're using a driver from the 3.5 series they're not going to work. Probably all you need to make this work is to upgrade:

npm upgrade neo4j-driver@^4.1.0

I see the issue now. I'm using the 'neo4j-graphql-js' library which includes the 'neo4j-driver' library. But it currently lists neo4j-drivers version as 4.0.1. I'll submit a PR to hopefully bump that up.

1 Like