summaryrefslogtreecommitdiffstats
path: root/openpgp/examples
AgeCommit message (Collapse)Author
2019-05-11openpgp: Make {is,possible}_{message,keyring,tpk} return a ResultNeal H. Walfield
- 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.
2019-05-09openpgp: Communicate message structure from the decryptor.Justus Winter
- Fixes #100.
2019-05-07openpgp: Rename TPKBuilder::default to TPKBuilder::newNeal H. Walfield
- 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.
2019-04-09openpgp: Guard signature verifications with a time.Justus Winter
- In the streaming verifier and decryptor, check that signatures (and binding signatures) are valid at the given time. - Fixes #247.
2019-04-04openpgp: Avoid key.fingerprint.to_keyid()Neal H. Walfield
- Instead of using key.fingerprint.to_keyid(), use key.keyid().
2019-04-02openpgp: Improve the VerificationHelper protocol.Justus Winter
- 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.
2019-03-26tool: Read passwords from the tty.Justus Winter
- Fixes #24.
2019-03-25openpgp: Rework the DecryptionHelper trait.Justus Winter
- 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.
2019-03-21openpgp: Rename `UserID::userid()` to `value()`.Justus Winter
- Fixes #224.
2019-03-18openpgp: Add a new example.Justus Winter
2019-03-18openpgp: Make cipher algorithm configurable in streaming Encryptor.Justus Winter
- Fixes #208.
2019-03-18openpgp: Make hash algorithm configurable in streaming Signer.Justus Winter
- See #208.
2019-03-15guide: New chapter about message signing and verification.Justus Winter
- Also add a new example about message signing and verification. - Fixes #217.
2019-03-14openpgp: Replace TPK::select_keys with an iterator.Neal H. Walfield
- 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.
2019-03-04openpgp: Collect Signature Subpacket statistics.Justus Winter
2019-03-04openpgp: Only print signature stats if we saw some.Justus Winter
2019-02-20openpgp: Collect statistics over user attribute subpackets.Justus Winter
2019-02-20openpgp: Improve statistics.Justus Winter
- For every kind of packet, print the sum of the size of all packets of that kind.
2019-02-20openpgp: Parse more than one file.Justus Winter
- Keyserver dumps are typically split into several files.
2019-02-20openpgp: Update build instructions.Justus Winter
2019-01-15openpgp: Hand a Vec<crypto::Signer> to stream::Signer.Justus Winter
- 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.
2018-12-17openpgp: Change KeyIter to also return the RevocationStatus.Neal H. Walfield
- A Key's revocation status is a property of its binding, but the binding is not exposed by KeyIter. Expose it.
2018-12-14openpgp: Introduce trait Parse.Justus Winter
- Trait Parse introduces a uniform interface to parse packets, messages, keys, and related data structures.
2018-12-12openpgp: Move SecretKey to packet::key.Justus Winter
2018-12-07openpgp: Make PacketParser's header field private.Justus Winter
2018-12-07openpgp: Add new example.Justus Winter
2018-12-05openpgp: Drop openpgp::Reader.Justus Winter
- Now that the packet parser transparently strips armor, this reader is no longer necessary.
2018-11-26openpgp: Update examples.Justus Winter
- The packet parser transparently strips armor now.
2018-11-24Rename the openpgp crate to sequoia-openpgp.Justus Winter
2018-11-16openpgp: Improve example.Justus Winter
- Collect statistics about signatures.
2018-11-14Avoid identity slicing.Justus Winter
2018-10-16openpgp: Improve the streaming writer API.Justus Winter
- Also, improve documentation and doctests.
2018-10-16openpgp: Improve examples.Justus Winter
- Fixes #112.
2018-10-09openpgp: Don't return the depth from PacketParser::{next,recurse}Neal H. Walfield
- 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).
2018-09-28openpgp: Add and use a type holding session keys.Justus Winter
2018-09-17openpgp: Simplify example.Justus Winter
- 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.
2018-09-03openpgp: Expose packet structs in the packet module.Justus Winter
- Fixes #64.
2018-08-29openpgp: Make the keys() iterator more useful.Justus Winter
- Return the corresponding (binding-)signature along with the keys.
2018-08-24openpgp: Make PacketParser's next() and recurse() return two tuples.Justus Winter
- This logically groups the returned values, and makes it easier to ignore both packet-related values. - See #27.
2018-08-24openpgp: Make struct PKESK opaque, add getters and setters.Justus Winter
- See #57.
2018-08-24openpgp: Make struct Key opaque, add getters and setters.Justus Winter
- See #57.
2018-08-22openpgp: Implement proper handling of nested signatures.Justus Winter
- 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.
2018-08-22openpgp: Fix comment.Justus Winter
2018-08-14openpgp: Make armor parsing more robust.Justus Winter
- 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.
2018-08-14openpgp: Typos.Justus Winter
2018-07-24openpgp: Support setting ASCII-armor's headersNeal H. Walfield
2018-07-20openpgp: Rename finalize{,_all} to finalize{_one,}.Justus Winter
2018-07-20openpgp: Improve example.Justus Winter
- Properly finalize the writer stack.
2018-07-11openpgp: Fix typo.Neal H. Walfield
2018-07-10openpgp: Add and use a type for the literal data packet's format.Justus Winter