Age | Commit message (Collapse) | Author |
|
- PacketParserEOF::is_message, PacketParserEOF::is_keyring,
PacketParserEOF::is_tpk, PacketParserResult::possible_message,
PacketParserResult::possible_keyring, and
PacketParserResult::possible_tpk returned a boolean.
- Change them to return a Result<()> instead, which is more Rusty,
and, in particular, allows the caller to determine why the message
didn't parse.
|
|
- Fixes #100.
|
|
- One would think that TPKBuilder::default would return something
filled with useful defaults, but it just returns a nearly empty
builder. Rename it to TPKBuilder::new, which is less misleading.
|
|
- In the streaming verifier and decryptor, check that
signatures (and binding signatures) are valid at the given time.
- Fixes #247.
|
|
- Instead of using key.fingerprint.to_keyid(), use key.keyid().
|
|
- Change VerificationResult::GoodChecksum to include references to
the TPK that contained the signing key, the key itself, a binding
signature (if any), and any revocation information.
- Fixes #140.
|
|
- Fixes #24.
|
|
- Simplify the protocol by removing the iteration. Instead, the
callee gets a proxy for PacketParser::decrypt() that she can use
to decrypt the message. If successful, the session key can be
cached without involving the DecryptionHelper trait. This also
allows us to dump session keys.
- Fixes #219.
|
|
- Fixes #224.
|
|
|
|
- Fixes #208.
|
|
- See #208.
|
|
- Also add a new example about message signing and verification.
- Fixes #217.
|
|
- TPK::select_keys mixes iterating and filtering.
- Make KeyIter an implicit builder, which supports convenient
filtering.
- Provide a convenience function to key an iterator with a
reasonable filter default.
|
|
|
|
|
|
|
|
- For every kind of packet, print the sum of the size of all
packets of that kind.
|
|
- Keyserver dumps are typically split into several files.
|
|
|
|
- Using `crypto::Signer`s has several benefits. First, it shifts
the decision which key to use to the caller, moving policy out of
the caller. Second, it forces the caller to deal with encrypted
keys. Finally, it allows us to use remote keys like smart cards
in the future.
- Fixes #142.
|
|
- A Key's revocation status is a property of its binding, but the
binding is not exposed by KeyIter. Expose it.
|
|
- Trait Parse introduces a uniform interface to parse packets,
messages, keys, and related data structures.
|
|
|
|
|
|
|
|
- Now that the packet parser transparently strips armor, this reader
is no longer necessary.
|
|
- The packet parser transparently strips armor now.
|
|
|
|
- Collect statistics about signatures.
|
|
|
|
- Also, improve documentation and doctests.
|
|
- Fixes #112.
|
|
- Change PacketParser::next and PacketParser::recurse to not return
the packets' depths. Instead, require the caller to query them
using accessor functions, if they are needed (they usually
aren't).
|
|
|
|
- Previously, the example explicitly constructed a
BufferedReaderGeneric to make it use a larger buffer. By using
PacketParser::from_file we both simplify the example, and make use
of the new BufferedReaderFile.
|
|
- Fixes #64.
|
|
- Return the corresponding (binding-)signature along with the keys.
|
|
- This logically groups the returned values, and makes it easier to
ignore both packet-related values.
- See #27.
|
|
- See #57.
|
|
- See #57.
|
|
- Outer signatures are over any inner signatures and the intervening
content. Since outer signatures are notarizations, they should
treat literal data packets the same way normal signatures (i.e.,
inner most signatures) do and ignore the filename, date,
etc. fields when hashing the content.
- Add a test vector for this, and an example that creates these
kinds of notarizations.
- Fixes #29.
|
|
|
|
- ASCII Armor, designed to protect OpenPGP data in transit, has been
a source of problems if the armor structure is damaged. For
example, copying data manually from one program to another might
introduce or drop newlines.
- This change introduces a heuristic that simply tries to detect the
base64-encoded OpenPGP data. This way, if the framing is in any
way damaged, or even stripped, we can still recover the message.
- Fixes #40.
|
|
|
|
|
|
|
|
- Properly finalize the writer stack.
|
|
|
|
|