summaryrefslogtreecommitdiff
path: root/src/crypto.rs
Commit message (Collapse)AuthorAgeFilesLines
* make the Clone bytes types Copy as wellpennae2022-07-171-4/+4
| | | | u8 arrays are copy, no need to not have our wrappers be copy.
* remove Seal from cryptopennae2022-07-171-10/+1
| | | | the trait doesn't leave the module, so sealing doesn't do anything useful.
* remove SecretBytespennae2022-07-171-77/+22
| | | | | there's no benefit to keeping it around, the zeroing behavior it had was never any good and without it it's just a fancy [u8; N]
* use SecretKey for key material in cryptopennae2022-07-171-39/+38
|
* use HawkKey everywhere hawk keys are handledpennae2022-07-171-10/+14
| | | | the db already does this, crypto did not.
* add dedicated types for all the tokenspennae2022-07-171-35/+104
| | | | using SecretBytes for all of them isn't that great.
* make crypto fields private if they're not used outside cryptopennae2022-07-171-7/+7
|
* remove zeroize dependencypennae2022-07-171-8/+1
| | | | | | | | this is not so much a problem as a possible source of false security for the readers. all secret keys we handle are serialized in some form, and those serialization buffers are *not* zeroed out after use. zeroing our raw buffers doesn't help much in that case, using a zero-on-free allocator would be much more helpful.
* fix clippy warningspennae2022-07-171-0/+1
|
* add test vector for password changes and account resetpennae2022-07-161-1/+48
| | | | | | | these are not "official" test vectors, just an example of what the implementation does currently. since it works with other parts of the ecosystem (most importantly firefox itself) they seem good enough to include.
* initial importpennae2022-07-131-0/+408