-
Notifications
You must be signed in to change notification settings - Fork 352
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
encryption demo: based on SQLite3MultipleCiphers fork #824
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
b75aad2
to
bdd2d40
Compare
penberg
approved these changes
Jan 9, 2024
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.
@MarinPostma @LucioFranco please have a look. we may want to change the configuration from a passphrase to some per-database key thing, but let's get something simple merged and iterate on this.
77b7ea0
to
7ecbe8c
Compare
This was referenced Jan 11, 2024
6f2afb0
to
c82205c
Compare
The passphrase parameter is now unconditional, we just don't use it if not applicable.
Co-authored-by: Lucio Franco <[email protected]>
f819239
to
b504d1e
Compare
(quoting Lucio's post on slack: "not checking ship it")
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This series adds a
multiple-ciphers
feature to libsql-server, which turns on encryption at rest.The SQLite3MultipleCiphers source code was brought from my fork, which includes a few simple changes to integrate directly with unpatched libsql amalgamation file: https://github.com/psarna/SQLite3MultipleCiphers . It's based on SQLite3MultipleCiphers 1.8.1, and the source code is copied as-is, including all the licensing, docs and tributes.
The passphrase can be specified with
--passphrase
, e.g.--passphrase turso123
.After you run sqld with this patch, all data is encoded on disk
with the passed passphrase. You can't read it directly from the file,
unless you use sqlite3mc's shell and start with
, and then it gets properly decrypted.