summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2024-04-11openpgp-policy: Update certs.Justus Winter
2024-04-10openpgp: Add S2K::Implicit.Justus Winter
- For historical reasons, if the S2K usage octet is not a known S2K mechanism, the octet denotes a symmetric algorithm used to encrypt the key material with. In this case, the symmetric key is the MD5 sum over the password. See section 5.5.3. Secret-Key Packet Formats of RFC4880.While this is obviously not a great choice, it is no worse than `S2K::Simple { hash: MD5 }`, since it is equivalent to that. - Model this by adding a new S2K variant. - Notably, this fixes handling of packets with unknown S2K mechanisms. Under the model of RFC4880, which we implement, any unknown S2K mechanism is an implicit S2K, where the usage octet denotes an unsupported symmetric algorithm. Using this will fail, but we now can parse and serialize it correctly, and with them the secret key packets they come in. - Fixes #1095.
2024-04-10openpgp: Improve tracing, trace parsing failures.Justus Winter
2024-04-08openpgp: Fix documentation.Justus Winter
- There is no `Curve::Private`.
2024-04-08openpgp: Add Signature::verify_signature.Justus Winter
- Similar to Signature::verify, but doesn't constrain to document signatures. This allows for faster verification of third-party signatures on certs, taking advantage of the fact that we computed the digest during certificate canonicalization.
2024-03-24openpgp: Remember digests during certificate canonicalization.Justus Winter
- We have done the hashing, and the cert structure provides enough context to do the verification without doing the hashing again.
2024-03-24openpgp: Stash the digest on successful signature verifications.Justus Winter
2024-03-24openpgp: Rework signature verification.Justus Winter
- Introduce a new function, Signature::verify_digest_internal, that only uses concrete types to reduce monomorphization, handles the stashed computed digest, and takes an optionally owned signature digest.
2024-03-22openpgp: Optimize RawCert::primary_key.Justus Winter
- During parsing, we parse the primary key. Keep that around for later instead of caching only the fingerprint. Simplify accessors accordingly.
2024-03-21openpgp: Fix documentation.Justus Winter
2024-03-21openpgp: Improve tracing.Justus Winter
2024-03-16openpgp: Avoid heap allocation when hashing signatures.Justus Winter
- Notably, this is done during certificate canonicalization. This is expensive as-is, let's keep the allocator out of it.
2024-03-16openpgp: Avoid heap allocation when hashing keys.Justus Winter
- Notably, this is done during certificate canonicalization. This is expensive as-is, let's keep the allocator out of it.
2024-03-13openpgp: Include the reason for why a primary key is unsupported.Justus Winter
2024-03-10ipc: Release 0.34.1.ipc/v0.34.1Neal H. Walfield
2024-03-10ci: Also test the sequoia-ipc and sequoia-net crates on Windows.Neal H. Walfield
2024-03-10ipc: Add missing import in Windows code.Neal H. Walfield
2024-03-09ipc: Release 0.34.0.ipc/v0.34.0Neal H. Walfield
2024-03-09Update dependencies.Neal H. Walfield
2024-03-09Update certificates in openpgp-policy.toml.Neal H. Walfield
2024-03-09ipc: Improve error message.Neal H. Walfield
- If we can't open the socket, include the socket's file name as context.
2024-03-06ipc: Add callbacks to simplify tracing client-server interactions.Justus Winter
- To simplify debugging client-server interactions, add tracing callbacks to `Assuan`.
2024-03-06ipc: Update Client::send_simple with the version from the chameleon.Neal H. Walfield
- The Chameleon copied and improved `Client::send_simple`. Update the copy here. See: https://gitlab.com/sequoia-pgp/sequoia-chameleon-gnupg/-/blob/70802790d7d95c0084a8fea71a0836b3efc39910/src/agent.rs#L182
2024-03-06ipc: Don't panic if the server disappears, return an error.Neal H. Walfield
- If the server exits, we set the connection's state to `WriteState::Dead`. - When sending a message, don't panic if the connection's state is `WriteState::Dead`. Instead, return an error message.
2024-03-04Retire dvzrv and wiktor.Neal H. Walfield
- dvzrv and wiktor left the project, rescind their authorizations. - See https://gitlab.com/sequoia-pgp/sequoia-web/-/merge_requests/47 .
2024-02-26ci: make msvc jobs print env varsDevan Carpenter
2024-02-25openpgp: Handle header lines in the cleartext signature framework.Justus Winter
- Fixes #1091.
2024-02-25openpgp: Improve tracing.Justus Winter
2024-02-23ci: use our CI/CD components from common-ci.gitDevan Carpenter
2024-02-20openpgp: Release 1.19.0.openpgp/v1.19.0Justus Winter
2024-02-20openpgp: Add test making sure junk pseudo-packets have a map.Justus Winter
2024-02-20openpgp: Improve tracing.Justus Winter
2024-02-20openpgp: Add test for curve point representations.Justus Winter
2024-02-20openpgp: Fix serialized points on Weierstrass curves with OpenSSL.Justus Winter
- OpenPGP uses the uncompressed representation. Previously, the OpenSSL backend used the compressed representation by mistake.
2024-02-20openpgp: Test ECC key creation and operations.Justus Winter
2024-02-20openpgp: New function Curve::variants.Justus Winter
2024-02-20openpgp: Fix creating Brainpool keys with OpenSSL.Justus Winter
2024-02-20openpgp: Fix creating Brainpool keys with Botan.Justus Winter
2024-02-20openpgp: Fix building the tests with the fuzzing backend.Justus Winter
2024-02-20ipc: Release 0.33.0.ipc/v0.33.0Neal H. Walfield
2024-02-20Update dependencies.Neal H. Walfield
- Keep `anyhow` at 1.0.76; the latest version (1.0.80) still exhibits the performance problem on Windows. - See https://github.com/dtolnay/anyhow/issues/347 .
2024-02-20ipc: Ensure server's socket is in non-blocking mode.Neal H. Walfield
- According to the documentation for [`TcpListener::from_std`] the passed socket must be in non-blocking mode: > The caller is responsible for ensuring that the listener is in > non-blocking mode. Otherwise all I/O operations on the listener > will block the thread, which will cause unexpected > behavior. Non-blocking mode can be set using set_nonblocking. [`TcpListener::from_std`]: https://docs.rs/tokio/1.36.0/tokio/net/struct.TcpListener.html - Make sure that is the case for any socket we pass to `TcpListener::from_std`.
2024-02-13openpgp: Remove superfluous clamping.Justus Winter
- Asymmetric::x25519_generate_key generates an X25519 key. Clamping is not necessary here: X25519 mandates implicit clamping when decrypting.
2024-02-13openpgp: Refactor Key4::generate_ecc.Justus Winter
- Move common code into a common frontend function.
2024-02-13openpgp: Clamp the secret key in Key4::import_secret_cv25519.Justus Winter
- Fixes #1087.
2024-02-13openpgp: Fix markup.Justus Winter
2024-01-26ipc: Release 0.32.0.ipc/v0.32.0Neal H. Walfield
2024-01-26ipc: Upgrade capnp-rpc.Neal H. Walfield
2024-01-26Update p≡p contact information and p≡p Engine URL.Luca Saiu
Signed-off-by: Luca Saiu <positron@pep-project.org>
2024-01-26openpgp: Release 1.18.0.openpgp/v1.18.0Neal H. Walfield