Age | Commit message (Collapse) | Author |
|
|
|
|
|
- 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.
|
|
- See #615.
|
|
- See #615.
|
|
- This way the entire `BufferedReader<C>` will be `Send` and `Sync`.
- Modify all other crates accordingly.
- See #615.
|
|
|
|
|
|
|
|
- Fixes #389.
|
|
|
|
|
|
|
|
- Fixes #614.
|
|
- See #615.
|
|
- This makes file_unix::File Send and Sync.
|
|
- Declare trait bounds using a where clause. It looks a bit odd if
there is no bound, but not worse than before.
|
|
- See #615.
|
|
- See #615.
|
|
|
|
- All types that are `Send` and `Sync` are checked now.
- Fixes #627.
|
|
|
|
- With !928 merged more types are `Send` and `Sync` now.
- See #627.
|
|
- This ensures that all types with Policies (`Valid*`) are `Send` and `Sync`.
|
|
- Use generics and the anonmymous lifetime in `assert_send_and_sync!`.
- See 627.
|
|
- See #627.
|
|
- 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.
|
|
|
|
|
|
|
|
|
|
- See #615.
|
|
|
|
|
|
- Fixes #556.
|
|
- Key::encrypt returns mpi::Ciphertext, not a PKESK packet.
Similarly, change Key::verify to take a mpi::Signature instead of
a Signature packet.
|
|
This reverts commit 327a987e2c95ea9d05fcadd6fa7a8c249372affd.
|
|
- Fixes build on Windows.
|
|
|
|
- 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.
|
|
- 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.
|
|
`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.
|
|
- Fixes #602.
|
|
|
|
- Fixes #465.
|
|
- seal `Marshal` and `MarshalInto` traits.
- this effectively also seals `Serialize` and `SerializeInto`
as they depend on the former.
- See #538.
|
|
- 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.
|
|
- 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.
|
|
- 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.
|
|
|