MongoDB starting mongocryptd process. Is mongocryptd on the system path

Issue Description

Mongo fields encryption produces the below error in runtime.

Today in this article, we will cover below aspects,

Similar issues you may be found in the other driver like Pyhton pymongo or node js mongo driver. However, you can very much follow the below-listed instructions to attempt to resolve the issue.

MongoDB.Driver.Encryption.MongoEncryptionException: ‘Encryption related exception: Exception starting mongocryptd process. Is mongocryptd on the system path?.’

Exception starting mongocryptd process Is mongocryptd on the system path

Resolution

I observed this issue while attempting to create encryption and decryption for mongo fields using the client-Side Field-level encryption process.

Below was the sample code where I found the error,

Exception starting mongocryptd process Is mongocryptd on the system path

The above error can be fixed using any of the below techniques,

Using Enterprise version 4.2 and above

Using Enterprise version 4.2 and above Enterprise version there is direct support for Automatic client-side encryption.

You can set up the configuration of the AutoEncryptionSettings instance to create a new key and JSON schema map following the below approach,

  • The mongocryptd binary is required for client-side encryption and included with Enpterprise pakcage only. MongoDB Enterprise Server package.
  • Please make sure mongocryptd daemon / process to be running on the server.
    • If mongocryptd isn’t running, then alternatively you can specify the mongocryptdSpawnPath in the supported Extra option using AutoEncryptionOptions class.

Example :

 mongocryptdSpawnPath ='/path/to/mongocryptd'

  • Also mongocryptdURI , same can be specified in the extra option using class AutoEncryptionOptions.

Example :

mongocryptdURI =”mongodb://localhost:port”

Example

 var autoEncryptionSettings = new AutoEncryptionOptions(
               keyVaultNamespace,
               kmsProviders,
               true,
               supportedExtraOptions,
               schemaMap: new Dictionary<string, BsonDocument>()
               {
                    { collectionNamespace.ToString(), BsonDocument.Parse(schemaMap) }
               });

Where supportedExtraOptions is defined with values as below,

Is mongocryptd on the system path

Please update the above configuration as required.

That’s all! Happy coding!

Does this help you fix your issue?

Do you have any better solutions or suggestions? Please sound off your comments below.



Please bookmark this page and share it with your friends. Please Subscribe to the blog to receive notifications on freshly published(2024) best practices and guidelines for software design and development.



Leave a Reply

Your email address will not be published. Required fields are marked *