-
Notifications
You must be signed in to change notification settings - Fork 1
Feat/per dataset ops #86
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
3a80862 to
45bf2e1
Compare
bd9437c to
5245226
Compare
|
Does this mean different records in the same |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks really good - nice work.
I answered my own question around the decryption after I read the code. My understanding is that if multiple records in a table are encrypted via different datasets, they will not decrypt unless decrypted via the same dataset ID that they were encrypted with, and that is handled gracefully.
Thanks, @freshtonic. Yep, that's correct! |
Summary
Changes
Adds "via" dataset variants of entry points to the
EncryptedTable. These methods allow for the selection of a specific dataset before performing an operation.EncryptedTable::putis as before and uses the default dataset for the clientEncryptedTable::put_viaallows a dataset to be specified via its id (uuid)getanddeleteQueryBuilderhas been given aviabuilder method to provide a specific dataset to use during queriesThe
decrypt_allmethod has not been modified as decryption operations will use the dataset ID encoded into the ciphertext payload (AAD) to determine which dataset was used to encrypt. If the client does not have access to any dataset associated with a record passed todecrypt_all, the operation will fail.This uses the pre-release version of cipherstash-client,
0.13.0-pre.1.Acknowledgment
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.