Issue Details (XML | Word | Printable)

Key: JDBC-527
Type: New Feature New Feature
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Mark Rotteveel
Reporter: Mark Rotteveel
Votes: 0
Watchers: 0

If you were logged in you would be able to see more operations.
Jaybird JCA/JDBC Driver

Add support for database encryption callback

Created: 14/Apr/18 01:13 PM   Updated: 05/May/18 12:42 PM
Component/s: Wire protocol
Affects Version/s: None
Fix Version/s: Jaybird 3.0.4, Jaybird 4

 Description  « Hide
Add basic support for handling database encryption callback (op_crypt_key_callback), supporting a fixed response with a value provided through a connection property. The implementation will not support pluggability, but will prepare for future plugin support.

The connection property should take a base64 value, but it might be wise to prepare it for supporting additional types (maybe use dbCryptData=base64:<base64-value>, this could also allow for hex:<hex-value> and maybe <plain-value>). Support must be available for DriverManager and data sources.

This should be implemented as an internal minimal plugin/SPI, which is created using the (string) value of dbCryptData, decoding the base64 would be the responsibility of this plugin(!). The implementation should call this plugin with the received server-data (+ size) and return the client-data (in this case the fixed value configured using dbCryptData, or null/empty if no value is provided). Choosing this implementation will allow building this out to support additional plugins in the future.

Support for JNA will only be done if it is simple enough to do, otherwise a new ticket will be created for future addition.

 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Mark Rotteveel added a comment - 29/Apr/18 09:30 AM
Initial implementation done. Only supported in wire protocol v13, not in native/embedded.