Age | Commit message (Collapse) | Author | |
---|---|---|---|
2018-06-28 | openpgp: Improve error handling. | Justus Winter | |
- Return an Error::InvalidArgument when trying to parse a ciphertext with a signature algorithm specifier, or a signature with an encryption one. | |||
2018-06-28 | openpgp: Add `MPIs::Unknown` for parameters of unknown algorithms. | Justus Winter | |
- Fixes #8. | |||
2018-06-28 | openpgp: Parse MPIs of ElGamal signatures. | Justus Winter | |
2018-06-28 | openpgp: Typo. | Justus Winter | |
2018-06-28 | tool: Add a test for the bug fixed in 1d63e71. | Neal H. Walfield | |
2018-06-27 | tools: Make sqv check that a validated TPK is really wanted. | Neal H. Walfield | |
- sqv only checked whether an *unvalidated* TPK was wanted; it needs to double-check that this is really the case after validating the TPK. Consider the case where key X is needed to validate a signature and the keyring contains two keys: Mallory's and Alice's, and both have key X as a subkey, but the back-sig is only valid for Alice's key. The current code will use Mallory's key, and the signature validation will fail. If we had double checked, then we'd have discarded Mallory's key, and correctly used Alice's. - To fix this problem, this commit changes the code to use the new TPKParser::unvalidated_tpk_filter, which is not only simpler to use, but takes care of this double checking. | |||
2018-06-27 | openpgp: Add an interface to filter unvalidated TPKs. | Neal H. Walfield | |
- Validating self-signatures is computationally expensive. When searching a keyring, it would be faster to filter, validate and then recheck, than to validate and filter. - Because handing out unvalidated TPKs will inevitably result in an unvalidated TPK being used in a context where it should have been validated, we provide this new interface, `TPKParser::unvalidated_tpk_filter`, which is similar to Rust's `Iterator::filter` method. Using a callback means that the user has to go out of their way to propagate the unvalidated TPK, which will hopefully prevents the unvalidated TPK from being used in a context where a validated TPK is required. | |||
2018-06-27 | openpgp: Add some convenience constructors to TPKParser. | Neal H. Walfield | |
2018-06-27 | openpgp: Make footer detection more robust. | Justus Winter | |
- Also, make armor::Reader use a buffered reader. This allows us to peek into the buffer to find the footer, even if we didn't request enough data to see it. - Fixes #7. | |||
2018-06-27 | openpgp: Tune TPK-abbreviation acrobatics. | Justus Winter | |
- Previously, we joined two Strings. Now we just use the &'static str. | |||
2018-06-27 | openpgp: Make armored header detection more robust. | Justus Winter | |
- Previously, the detection code confused the header of a cleartext signature with that of a detached signature. | |||
2018-06-27 | openpgp: Make reading the CRC more robust. | Justus Winter | |
- Check that we feed no whitespace to the base64 decoder. If all four bytes are from the base64 character set, we get exactly three bytes out. | |||
2018-06-25 | openpgp: Drop superfluous identity-conversion. | Justus Winter | |
2018-06-25 | openpgp: Do not make the ecdh module public. | Justus Winter | |
2018-06-25 | openpgp: Fix off-by-one error in the armor detection. | Justus Winter | |
- Also, add an test that demonstrates this problem. | |||
2018-06-25 | openpgp: Drop the alias for Kind::SecretKey. | Justus Winter | |
- Having an alias in the enum seems not worth the trouble, e.g. it complicates equality. | |||
2018-06-25 | openpgp: Move the subpacket module to the crate root. | Justus Winter | |
2018-06-25 | openpgp: Generalize `hash_file`. | Justus Winter | |
- Instead of giving it a path, just give it a reader. Adjust call site. | |||
2018-06-25 | openpgp: Add support for parsing Autocrypt headers. | Neal H. Walfield | |
- Also implement 'sq autocrypt decode' to convert an autocrypt header to an OpenPGP key. | |||
2018-06-21 | Add a license. | Neal H. Walfield | |
2018-06-20 | openpgp: Make KeyID parsing more robust by accepting fingerprints. | Justus Winter | |
- A fingerprint contains more information than a keyid, I see no reason not to parsing it to a keyid, other than to annoy any users. | |||
2018-06-20 | openpgp: Ignore garbage in front of armored data. | Justus Winter | |
2018-06-20 | openpgp: Rename functions to make their intention clear. | Justus Winter | |
2018-06-20 | openpgp: Simplify and fix function. | Justus Winter | |
2018-06-20 | openpgp: Use u8::is_ascii_whitespace(). | Justus Winter | |
2018-06-20 | Warn about public functions without documentation, add missing docs. | Justus Winter | |
2018-06-20 | store: Restrict the visibility of the backend to the crate. | Justus Winter | |
2018-06-20 | store: Rename the key store binary and rendezvous point. | Justus Winter | |
2018-06-20 | Make sure there is always a whitespace after every comma. | Justus Winter | |
- This is the result of executing find . \( -type f -and \( -name '*.rs' -or -name '*.h' \) \) \ -exec sed -i -e 's/,\([^[:space:]]\)/, \1/g' {} \; with one manual tweak in 'parse.rs'. | |||
2018-06-20 | Consistently call passwords password, not passwd or passphrase. | Justus Winter | |
2018-06-20 | openpgp: Don't export HashesFor. | Neal H. Walfield | |
2018-06-20 | openpgp: Improve whitespace, minor comment editing. | Neal H. Walfield | |
2018-06-20 | openpgp: Fix 99d0dbe486e0fdd1e1b9cf266f93a726abcf2444. | Justus Winter | |
2018-06-20 | openpgp: Typo. | Justus Winter | |
2018-06-19 | openpgp: make missing docs a warning. | Kai Michaelis | |
Missing doc comments on public functions and types now procude a warning. Also adds all missing comments. | |||
2018-06-19 | openpgp: Implement decryption using ECDH/Curve25519. | Justus Winter | |
2018-06-19 | openpgp: Simplify checksum computation. | Justus Winter | |
2018-06-19 | openpgp: Refactor `PKESK::decrypt(..)` in preparation for ECDH. | Justus Winter | |
2018-06-19 | openpgp: Fix check for key size. | Justus Winter | |
2018-06-19 | openpgp: Refactor computation of KDF inputs. | Justus Winter | |
2018-06-19 | openpgp: Add a function to remove PKCS5 padding. | Justus Winter | |
2018-06-19 | openpgp: Make `MPI::decode_point()` grok Curve25519 keys. | Justus Winter | |
2018-06-19 | openpgp: Make `PKESK::decrypt` take a &Key for the public key. | Justus Winter | |
- We need the key's fingerprint for the ECDH algorithm. | |||
2018-06-19 | openpgp: Rename test case and remove unused variable. | Justus Winter | |
2018-06-19 | openpgp: Move MPIs parsing into own file. | Kai Michaelis | |
It's a lot boilerplate. As a side effect we are forced to make the PacketHeaderParser crate-public :(. Closes #3. | |||
2018-06-19 | openpgp: Express log2 using the `u32::leading_zeros()` intrinsic. | Justus Winter | |
2018-06-19 | openpgp: PKESK decryption. | Kai Michaelis | |
Implements PKESK::decrypt(). Supports onlt RSA for now. | |||
2018-06-19 | openpgp: simple secret key handling. | Kai Michaelis | |
Adds a SecretKey type for holding (optionally encrypted) secret keys. For now, secret keys are handled as TPKs. | |||
2018-06-19 | openpgp, buffered-reader: Make compression an optional feature. | Justus Winter | |
- This helps to reduce the trusted computing base if compression is not needed. - This makes it easier to fuzz Sequoia, previously the fuzzer was doing a great job creating compression bombs that triggered the fuzzers timeout. - Currently, the cargo workspace feature does not propagate --no-default-features, but it is possible to depend on the openpgp crate with `default-features = false`. - Unfortunately, a lot of test cases include compressed packages. This change conditionally disables these tests. | |||
2018-06-18 | openpgp: Simplify test. | Justus Winter | |