summaryrefslogtreecommitdiffstats
path: root/openpgp
AgeCommit message (Collapse)Author
2021-01-19benchmarks: extract common encryption functions.nora/benchmarkingNora Widdecke
2021-01-19add encrypting to recipient.Nora Widdecke
2021-01-19Add benchmark encrypt message.Nora Widdecke
2021-01-19change key to certNora Widdecke
2021-01-18openpgp: Use actual small key.Nora Widdecke
2021-01-17openpgp: Ignore tests when benchmarking.Nora Widdecke
- The libtest benchmark harness that is automatically added by cargo interferes with criterion. Disable it everywhere where there are no benchmarks. - https://github.com/rust-lang/rust/issues/47241 - https://bheisler.github.io/criterion.rs/book/faq.html
2021-01-15openpgp: Add benchmark generate_keys.Nora Widdecke
2021-01-15openpgp: rename benchmark, read manuallyNora Widdecke
2021-01-14openpgp: Add benchmarks for parsing keys.Nora Widdecke
2021-01-14openpgp: add throughput measurementNora Widdecke
2021-01-14openpgp: add use case benchmark for crypto::randomNora Widdecke
2021-01-14openpgp: add benchmark for crypto::randomNora Widdecke
2021-01-14openpgp: Simplify Cert::merge_public.Justus Winter
2021-01-12openpgp: Simplify certificate serialization.Justus Winter
2021-01-12openpgp: Add an accessor for all component signatures.Justus Winter
2021-01-12openpgp: Fix examples.Justus Winter
- Actually use the functions being documented.
2021-01-11openpgp: Improve documentation.Justus Winter
2021-01-08openpgp: Add regex support.Neal H. Walfield
- Fixes #188.
2021-01-05openpgp: Fix link.Justus Winter
2021-01-05openpgp: Make crypto backends responsible for IV.Nikhil Benesch
- Adjust the interface of crypto::symmetric::Mode so that the crypto backend is responsible for managing the IV rather than the caller. - The new API is one step towards facilitating a RustCrypto backend for Sequoia (see #333), as RustCrypto does not expose the IV modifications to the caller. - As a bonus, this commit introduces proper support for ECB mode. Previously callers that wanted ECB mode would request CBC mode, then hackily zero out the IV on each call. Nettle actually has proper support for ECB mode, just via a slightly different API.
2020-12-22openpgp: Improve debugging output.Neal H. Walfield
2020-12-22openpgp: Add KeyHandle::is_invalid.Neal H. Walfield
- Add a convenience function to determine if a KeyHandle contains an invalid identifier.
2020-12-22openpgp: Implement KeyHandle::to_hex.Neal H. Walfield
- We implement Fingerprint::to_hex and KeyID::to_hex. Also implement it for KeyHandle.
2020-12-22openpgp: Implement str::FromStr for KeyHandle.Neal H. Walfield
- We implement str::FromStr for Fingerprint and KeyID. Also implement it for KeyHandle.
2020-12-22openpgp: Correctly handle keys where a primary key is also a subkey.Neal H. Walfield
- It is possible for a primary key to also be a subkey. - Correctly handle that case. - In particular, don't merge Public Key packets with Public Subkey packets, etc.
2020-12-22openpgp: Implement TSK::armored.Neal H. Walfield
- `Cert::armored` conveniently wraps a `Cert` with ASCII armor and adds nice comments. - Provide the same mechanism for `TSK`s.
2020-12-22openpgp: Clean up documentation.Neal H. Walfield
2020-12-16Release 1.0.0.v1.0.0Justus Winter
- Release buffered-reader 1.0.0, sequoia-openpgp 1.0.0, and sequoia-sqv 1.0.0. - Also release sequoia-sop 0.22.0.
2020-12-16openpgp: Bump sha1collisiondetection to 0.2.3.Justus Winter
- Fixes build on architectures with unsigned chars.
2020-12-15Relax dependency lalrpop-util.Nora Widdecke
- Fixes #630.
2020-12-15openpgp: Use Feb. 1st instead of Jan. 1st as the cutoff day.Neal H. Walfield
- January 1st is a holiday in much of the world. - When we disable an algorithm, things will almost certainly break somewhere. - Reduce the chance that things break when people are on vacation by using February 1st as the cutoff day instead of January 1st.
2020-12-15openpgp: Extend StandardPolicy's hash policy API.Neal H. Walfield
- A `Policy` now knows whether the use of a hash requires collision resistance or only second pre-image resistance. - Extend `StandardPolicy`'s hash policy API to allow a user to express a more nuanced policy that takes this information into account. - See #595.
2020-12-15openpgp: Use hash_algo_security for self signatures and revocations.Wiktor Kwapisiewicz
- This uses calculated hash algorithm security instead of a hard-coded value.
2020-12-15openpgp: Make ComponentAmalgamation return iterator for signatures.Wiktor Kwapisiewicz
- Adjust `self_signatures`, `certifications`, `self_revocations` and `other_revocations` to return `impl Iterator` over the signatures. - Adjust all call-sites including doc tests. - Adjust downstream projects (sq, autocrypt).
2020-12-14openpgp: Simplify hash policies.Neal H. Walfield
- The standard policy currently has two policies related to hash algorithms: when a hash algorithm should be rejected for normal signatures, and when a hash algorithm should be rejected for revocation sigantures. - If we distinguish two security contexts, then we'll have four policies (the cross product). - If the currently state is not already unmanageable, then this certainly is. - Simplify this by using a single scalar to represent how long a revocation certificate using a broken hash should continue to be accepted. - This is probably sufficiently expressive in practice as this is a largely inexact science. And, if a more nuanced policy is required, it is always possible to wrap `StandardPolicy`.
2020-12-14openpgp: Add Duration::years.Neal H. Walfield
- Add `Duration::years`. - This function assumes that there are 365.2425 days in a year, which is the average number of days in a year in the Gregorian calendar.
2020-12-14openpgp: Make Duration::seconds a const fn.Neal H. Walfield
- Make `Duration::seconds` a const fn.
2020-12-14openpgp: Change general purpose keys to have a signing subkey.Justus Winter
- Certificates with a primary key that is not signing capable, and a subkey that is, are strictly more secure than ones that combine signing and certification capabilities in the primary key. - If the owner of a certificate with a signing-capable primary key can be tricked into creating a binary signature over carefully chosen attacker-controlled data, this signature can be repurposed to bind arbitrary attacker-controlled components to the certificate using a chosen-prefix collision attack on the hash function (see e.g. "SHA-1 is a Shambles" for a similar attack). - Having a separate signing-subkey mitigates the attack, because signatures by the signing subkey cannot bind components to the certificate.
2020-12-14openpgp: Add custom logo and favicon to the documentation.Justus Winter
2020-12-14openpgp: Drop the doc-hack in favor of doc(inline).Justus Winter
2020-12-14openpgp: Typos.Justus Winter
2020-12-14openpgp: Fix crash in the packet parser.Justus Winter
- If no data has been read, that may indicate an error. In this case, even requesting no data may fail.
2020-12-11Release 0.21.0.v0.21.0Justus Winter
2020-12-11openpgp: Remove ComponentAmalgamation::revocation_keys.Wiktor Kwapisiewicz
- Remove the function. - Remove associated tests. - Cert::revocation_keys does examine all live self-signatures. - Fixes #629.
2020-12-11openpgp: Standardize fn main() in doctests.Azul
- Avoid the additional `fn f()`.
2020-12-11openpgp: Replace `.unwrap()` in doctests with `?`Azul
- See #480.
2020-12-11openpgp: Suggest StandardPolicy in NullPolicy docs.Wiktor Kwapisiewicz
- Fixes #473.
2020-12-11openpgp: Add an example of building a custom policy.Wiktor Kwapisiewicz
2020-12-11openpgp: Add functions that only return valid signatures.Wiktor Kwapisiewicz
- Fixes #622.
2020-12-11openpgp: Change Policy trait default to reject.Wiktor Kwapisiewicz