summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2019-01-15tool: Move key generation to a new module.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.
2019-01-15openpgp: Add convenience selector.Justus Winter
2019-01-11ci: Work around Python test failures.Justus Winter
- When building the bindings first, testing them later, the tests fail most of the time. I have not found the reason yet. - Reverts 9549da4b2bfa29519bb453a1f4fdd9baa536b57b.
2019-01-11ffi: Do not hardcode CARGO_TARGET_DIR.Justus Winter
2019-01-11ci: Use valgrind to run our C tests.Justus Winter
2019-01-11ci: Build first, then test.Justus Winter
2019-01-11Add missing Python build dependencies.Justus Winter
2019-01-11openpgp: generate X25519 keys according to spec.Kai Michaelis
Previously we just used a random 32 byte value. Correct X25519 keys require bits 0 to 2 of the first byte and bit 7 of the last byte to be 0. Closes #162
2019-01-11ffi: Add preliminary Python bindings.Justus Winter
- The bingings support basic manipulation of OpenPGP data, but are quite incomplete. Furthermore, the Python API is not very pythonic in some places, so expect it to break in the future.
2019-01-10tool: Generate keys protected with a password.Justus Winter
2019-01-10openpgp: Implement creation of TSKs with encrypted keys.Justus Winter
2019-01-10openpgp: Use Signer when revoking TPKs.Justus Winter
2019-01-10ffi: New function sq_p_key_into_key_pair.Justus Winter
2019-01-10ffi: New module openpgp/crypto.Justus Winter
2019-01-10ffi: Use absolute path in macro.Justus Winter
2019-01-10ffi: Optionally use valgrind to check the c-tests.Justus Winter
2019-01-10ffi: Fix reason for revocation parameter handling.Justus Winter
- We must use &c_char here instead of *const c_char, because the former can not be NULL, hence Option<&c_char> gets NULLable-pointer-optimized (see https://doc.rust-lang.org/nomicon/ffi.html#the-nullable-pointer-optimization).
2019-01-10ffi: Fix memory leaks in C tests.Justus Winter
2019-01-10ffi: Fix detection of main functions in C tests.Justus Winter
2019-01-09ffi: Use Option<&mut T> for destructors.Justus Winter
- This reflects the fact that destructors may be called with NULL.
2019-01-09ffi: Use *const T for non-optional arguments.Justus Winter
- Previously, Option<&T> was used, primarily because it was more ergonomic in Rust. However, this gave the impression that the argument was optional. - Likewise for mutable references. - This patch addresses all pointers to Rust values. - See #149.
2019-01-09ffi: Use ffi_param_ref_mut for mutable arguments.Justus Winter
2019-01-09ffi: Only return raw pointers.Justus Winter
2019-01-09ffi: Fix conversion to ffi_param_ref.Justus Winter
2019-01-09ffi: Drop spurious identity cast.Justus Winter
2019-01-09ffi: Drop spurious forget.Justus Winter
- `tpk_refs_raw` is a `*mut _`, forgetting it is a nop.
2019-01-09ffi: Introduce macro for moving ownership from C.Justus Winter
2019-01-09ffi: Introduce macro for passing references from C.Justus Winter
2019-01-09openpgp: implement PublicKey::bits() and Curve::bits()Kai Michaelis
Hagrind needs this information to correctly implement HKP.
2019-01-08ffi: Add test.Justus Winter
2019-01-08ffi: Add and use ffi_free!.Justus Winter
2019-01-08openpgp: change order of (self) sigs in TPK.Kai Michaelis
Self and subkey signatures are now sorted by creation time (asc). Signatures with no creation time are sorted before those with. This makes it faster to check whether a (self) sig is revoked. Fixes #137
2019-01-08ffi: Move TPK glue and friends to a new module.Justus Winter
2019-01-08ffi: Move PacketPile glue to a new module.Justus Winter
2019-01-08ffi: Move Fingerprint glue to a new module.Justus Winter
2019-01-08ffi: Move KeyID glue to a new module.Justus Winter
2019-01-08ffi: Add armor example.Justus Winter
2019-01-08ffi: Move armor glue to a new module.Justus Winter
2019-01-08ffi: Prepare to split the openpgp module.Justus Winter
2019-01-08ffi: Make c-tests traverse into directories.Justus Winter
2019-01-08ffi: Add sq_p_key_clone.Justus Winter
2019-01-08openpgp: Add new convenience function.Justus Winter
2019-01-07tool: Update documentation.Justus Winter
2019-01-07tool: Drop dependency on promptly.Justus Winter
- Do not ask whether to overwrite files, just fail and mention --force. - We decided that sq should not be interactive (modulo password prompts). Interactive programs are more difficult to test and script. Furthermore, it turns out that nix, a dependency of promptly, does not build on Android. - Fixes #148.
2019-01-02openpgp: Improve documentation.Justus Winter
2019-01-02openpgp: Move KeyPair to crypto.Justus Winter
2019-01-02openpgp: Improve documentation.Justus Winter
2019-01-02openpgp: Move Signer trait to crypto.Justus Winter
2018-12-28openpgp: Make KeyPair own Key and mpis::SecretKey.Justus Winter