-
Notifications
You must be signed in to change notification settings - Fork 170
[cryptography] Add Secret<T> wrapper for protected key material #2640
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
Merged
Merged
Changes from 17 commits
Commits
Show all changes
69 commits
Select commit
Hold shift + click to select a range
cafc77e
[cryptography] secrets wrapper
andresilva 1ccaa2b
[cryptography] mlock/mprotect secret memory
andresilva a246b08
[cryptography] fix non-unix
andresilva 01fc662
[cryptography] use subtle for constant-time operations
andresilva 4c9941f
[cryptography] use mmap for secrets
andresilva 71bd4ed
[cryptography] use closure-based API for exposing secrets
andresilva cf161b3
[cryptography] lint
andresilva 4a2958d
[cryptography] allow mlock to fail on tests / benchmarks
andresilva d89a555
[cryptography] zeroize on construction failure
andresilva 6b38b8d
[cryptography] require soft-mlock for ed25519 benchmarks
andresilva faab5c9
[cryptography] Secret doesn't require Zeroize
andresilva b816201
[cryptography] reprotect on panic
andresilva 2bff348
[consensus] require cryptography/soft-mlock for tests
andresilva a100efe
[cryptography] drop in place before zeroizing
andresilva fd600b6
[cryptography] lint
andresilva cdeb2e4
[cryptography] remove share method
andresilva 23b1698
[cryptography] derive partialeq/eq
andresilva e5f7b6d
[cryptography] specialize Secret for Eq/Ord impls
andresilva 9f7aa17
[cryptography] use libc from workspace
andresilva 4b4a15e
[cryptography] extract AccessGuard out of function
andresilva 9e1bc6c
[cryptography] reduce duplication
andresilva ddb9a79
[cryptography] add more tests
andresilva 11e68f4
[cryptography] fix sync issues
andresilva 539ce5f
[cryptography] sync correctness
andresilva 40c9231
[cryptography] nits
andresilva bc28df8
[cryptography] nits
andresilva 490226e
[cryptography] nits
andresilva 0c0d28c
[cryptography] docs
andresilva 49b0a11
[cryptography] lint
andresilva b8ad207
[cryptography] nits
andresilva 1057a37
[cryptography] ct_cmp_bytes enforce equal slice length
andresilva e1b2fb2
[cryptography] add Secret::try_new on non-unix
andresilva f5f007c
[cryptography] don't implement Hash for Secret
andresilva 122fb84
[cryptography] docs
andresilva f116581
[cryptography] don't attempt to drop and zeroize if mprotect failed
andresilva b171bb0
[cryptography] nit
andresilva b561a52
[cryptography] nit imports
andresilva 0f9f3f5
[cryptography] lint
andresilva ce2f568
Merge branch 'main' into andre/secrets-wrapper
andresilva 086549c
[cryptography/secret] cleanup unsafe block
andresilva a74cda2
[cryptography/secret] rename soft-mlock to unsafe-mlock
andresilva c5c813e
[cryptography] Remove Hash from PrivateKey types (#2683)
patrick-ogrady c19e19e
[cryptography] Secrets Hardening (#2685)
patrick-ogrady 3961108
Merge branch 'main' into andre/secrets-wrapper
patrick-ogrady b68d78c
Merge branch 'main' into andre/secrets-wrapper
andresilva b16dd73
[cryptography/secret] remove unix specific implementation
andresilva f0645c0
[cryptography/secret] use ManuallyDrop instead of MaybeUninit
andresilva 4fc2fe4
[cryptography] add Secret::expose_unwrap
andresilva c372cb1
[cryptography/handshake] use Secret
andresilva f3b2eaa
[cryptography] don't implement Ord for Secret
andresilva 3df3c93
[cryptography/secret] docs
andresilva 72e4dcc
[cryptography] lint
andresilva b62aef9
[cryptography/secret] use raw mut
andresilva 5e9895c
[cryptography/secret] use test_rng
andresilva c85923b
[cryptography/secret] take ptr before ManuallyDrop::take
andresilva fb3b30e
[cryptography/secret] zeroize scalar slices
andresilva 3263f2d
[cryptography/secret] const new
andresilva dac480c
[cryptography/secret] move eq for Secret<Scalar>
andresilva 884714a
[cryptography/secret] mention caller responsibility of wiping tempora…
andresilva 8d7a123
[cryptography/handshake] nit
andresilva 09fca29
[cryptography/secret] zeroize after forget
andresilva 09091f8
[cryptography] use ctutils instead of subtle
andresilva 1da9086
[cryptography] increase test coverage
andresilva b2bf52e
[cryptography] lint
andresilva e4de93b
Merge branch 'main' into andre/secrets-wrapper
andresilva 13ab2e9
[cryptography/cipher] use ChaCha20Poly1305::generate_key
andresilva 4eca663
[cryptography/bls12381] avoid stack when creating Scalar from bytes
andresilva 2d44b98
Cleanup from_bytes()
patrick-ogrady 99b8b43
fmt
patrick-ogrady File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or 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
This file contains hidden or 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
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.