[GODRIVER-3112] Enable use of native crypto in libmongocrypt bindings Created: 31/Jan/24  Updated: 31/Jan/24  Resolved: 31/Jan/24

Status: Closed
Project: Go Driver
Component/s: Client Side Encryption, Performance
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Unknown
Reporter: PM Bot Assignee: Unassigned
Resolution: Works as Designed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Issue split
split from DRIVERS-2718 Enable use of native crypto in libmon... Implementing
Upstream Changes Summary:

Summary of necessary driver changes

Package the crypto-enabled libmongocrypt on platforms where it is safe to do so: Mac and Windows. For Linux, continue to package the crypto-disabled (nocrypto) builds due to the issues with OpenSSL versioning (see MONGOCRYPT-112).

Check if the loaded libmongocrypt supports native crypto by calling mongocrypt_is_crypto_available. Only register crypto callbacks if it returns false.

Document that on Linux, high-performance use cases should install libmongocrypt on the system. If possible, ensure this install takes precedence over the packaged crypto-disabled libmongocrypt.

Context for other referenced/linked tickets

mongocrypt_is_crypto_available is added in MONGOCRYPT-616. Until it is released, libmongocrypt binaries can be downloaded from the upload-all task for the commit.

I expect this work only applies to drivers that implement the crypto hooks (i.e. calling mongocrypt_setopt_crypto_hooks and friends). From this survey, this appears to be: C#, Java, Node.js, Python, Ruby.


 Description   

This ticket was split from DRIVERS-2718, please see that ticket for a detailed description.



 Comments   
Comment by Kevin Albertson [ 31/Jan/24 ]

Closing as "Works as Designed". DRIVERS-2718 notes:

I expect this work only applies to drivers that implement the crypto hooks (i.e. calling mongocrypt_setopt_crypto_hooks and friends). From this survey, this appears to be: C#, Java, Node.js, Python, Ruby.

Generated at Thu Feb 08 08:40:06 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.