summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2020-12-11openpgp: Fix documentation.Justus Winter
2020-12-11sq: Allow cert-rings as recipients, reword key -> cert.Justus Winter
2020-12-11openpgp: Pass the hash algo's security reqs to Policy::signature.Neal H. Walfield
- If the signer controls the data that is being signed, then the hash algorithm only needs second pre-image resistance. - This observation can be used to extend the life of hash algorithms that have been weakened, as is the case for SHA-1. - Introduces a new `enum HashAlgoSecurity`, which is now passed to `Policy::signature`. - See #595.
2020-12-11openpgp: Make Cert::CertParser Send and Sync.Azul
- See #615.
2020-12-10openpgp: Add remaining assert_send_and_sync! calls.Azul
- See #615.
2020-12-10buffered-reader: Require Cookies to be Send and Sync.Azul
- This way the entire `BufferedReader<C>` will be `Send` and `Sync`. - Modify all other crates accordingly. - See #615.
2020-12-09Add our bug tracker and security contact.Justus Winter
2020-12-09Fix address of mailing list.Justus Winter
2020-12-09sq: Display all known key flags when inspecting certs.Justus Winter
2020-12-09sq: Implement searching hkp servers by email address.Justus Winter
- Fixes #389.
2020-12-09net: Implement searching for email addresses via hkp.Justus Winter
2020-12-09net: Add note.Justus Winter
2020-12-09net: Allow hkp queries by KeyHandle.Justus Winter
2020-12-09sq: Enable tokio's time driver.Justus Winter
- Fixes #614.
2020-12-09buffered-reader: Assert that all types are Send and Sync.Justus Winter
- See #615.
2020-12-09buffered-reader: Don't explicitly storing the mapping.Justus Winter
- This makes file_unix::File Send and Sync.
2020-12-08openpgp: Tweak the assert_send_and_sync macro.Justus Winter
- Declare trait bounds using a where clause. It looks a bit odd if there is no bound, but not worse than before.
2020-12-08openpgp: Make cert::IntoIter Send + Sync.Justus Winter
- See #615.
2020-12-08openpgp: Make unnamed iterators Send + Sync.Justus Winter
- See #615.
2020-12-08openpgp: Allow dangling `,` in assert_send_and_sync! calls.Azul
2020-12-08openpgp: Add assert_send_and_sync! for more types.Azul
- All types that are `Send` and `Sync` are checked now. - Fixes #627.
2020-12-08openpgp: Use parens for assert_send_and_sync!.Azul
2020-12-08openpgp: Add assert_send_and_sync! for more types.Azul
- With !928 merged more types are `Send` and `Sync` now. - See #627.
2020-12-08openpgp: Require Policies to be Send and Sync.Azul
- This ensures that all types with Policies (`Valid*`) are `Send` and `Sync`.
2020-12-08openpgp: Allow generic types in assert_send_and_sync!.Azul
- Use generics and the anonmymous lifetime in `assert_send_and_sync!`. - See 627.
2020-12-08openpgp: Ensure public types are Send and Sync.Azul
- See #627.
2020-12-07openpgp: Include a random salt when creating signatures.Justus Winter
- This makes it harder for an attacker to convince a victim to sign a predetermined text. See Leurent, G. and Peyrin, T., 2020. SHA-1 is a Shambles, Section 7.2: > [...] if the serial number is unpredictable then the [chosen > prefix] collision attack is thwarted as a crucial part of the > hashed input is not controlled by the attacker. - We use 32 bytes of randomness, which provides plenty of entropy, yet is way smaller than the block size of the average hash function. Adding random data that is included in the signature provides an opportunity to mutate this data to attack the hash function. Limiting the amount to less than the block size is should avoid this concern. - We use a notation to include the data, because this is the least intrusive way to add it. It is also self-describing. - Fixes #597.
2020-12-07openpgp: Drop hash::Context in favor of a pub trait hash::Digest.Justus Winter
2020-12-07openpgp: Require Write for impl Digest.Justus Winter
2020-12-07openpgp: Add Digeset::algo.Justus Winter
2020-12-07openpgp: Make digest computation more robust.Justus Winter
2020-12-07openpgp: Make serialize::stream::Message Send + Sync.Justus Winter
- See #615.
2020-12-07openpgp: Make Digest Send + Sync.Justus Winter
2020-12-07openpgp: Require Mode to be Send + Sync.Justus Winter
2020-12-04openpgp: Use pure Rust EAX implementation under CNG backendIgor Matuszewski
- Fixes #556.
2020-12-04openpgp: Make Key::verify more low-level.Justus Winter
- Key::encrypt returns mpi::Ciphertext, not a PKESK packet. Similarly, change Key::verify to take a mpi::Signature instead of a Signature packet.
2020-12-04Revert "ci: Temporarily drop all Windows builders."Justus Winter
This reverts commit 327a987e2c95ea9d05fcadd6fa7a8c249372affd.
2020-12-04Bump version of sha1collisiondetection.Justus Winter
- Fixes build on Windows.
2020-12-04Fix toml fragment to use Sequoia, cosmetic improvements.Justus Winter
2020-12-01openpgp: take ownership of Features bitfieldAzul
- Since `set_features` requires ownership of `Features`, it should take ownership rather than borrowing and cloning them. See https://rust-lang.github.io/api-guidelines/flexibility.html#caller-decides-where-to-copy-and-place-data-c-caller-control . - See #616.
2020-12-01openpgp: take ownership of KeyFlags bitfieldAzul
- Make `generate_key` polymorphic over `AsRef<KeyFlags>`. - Since `set_key_flags` requires ownership of the key flags, it should take ownership rather than borrowing and cloning the them. See https://rust-lang.github.io/api-guidelines/flexibility.html#caller-decides-where-to-copy-and-place-data-c-caller-control . - See #616.
2020-12-01openpgp: Allow using `None` to indicate signer's key should be used as the ↵Wiktor Kwapisiewicz
`key` parameter. - Make sign_direct_key take Key of key::PublicParts. - Simplify calling sign_direct_key by using Into. - Allow passing None to sign_subkey_binding. - Allow passing None to sign_userid_binding. - Allow using None as key parameter. - Improve docs mentioning new default for `pk`. - `pk` set to `Option::None` will now default to signer's public key. - Fixes #565.
2020-12-01openpgp: Don't mention the unreleased sequoia-core.Justus Winter
- Fixes #602.
2020-12-01openpgp: Clarify.Justus Winter
2020-11-30openpgp: Improve documentation of Fingerprint, KeyID, and KeyHandle.Nora Widdecke
- Fixes #465.
2020-11-28openpgp: seal the serialize traits.Azul
- seal `Marshal` and `MarshalInto` traits. - this effectively also seals `Serialize` and `SerializeInto` as they depend on the former. - See #538.
2020-11-28autocrypt: do not implement openpgp::serialize traitsAzul
- An autocrypt header is not serialized the same way a Cert is. We might extend the Serialize trait to also allow for armored output. This would make no sense for an autocrypt header. - So just implement a `serialize` function independently of the openpgp crates serialize module.
2020-11-28net: do not implement openpgp::serialize traits for KeyRingAzul
- We might implement it for an iterator over certs at some point. But in this case a simple `export` function is all we need. - This will also allow us to seal the `Serialize` and `Marshal` traits.
2020-11-28ipc: do not implement openpgp::serialize traitsAzul
- Serialize and Marshal have certain guarentees such as not exporting non-exportable Signatures. - In addition Serialize should only be implemented for standardized data structures. - We are also pondering adding `to_armored` functionality for serialized data. This does not really work with the ipc data structures. - Ipc provides serialization - but not the kind of serialization the openpgp crate is talking about. Plus we are considering sealing the traits.
2020-11-27openpgp: Drop dependency on the digest crate.Justus Winter