arti/WANT_FROM_OTHER_CRATES

73 lines
2.2 KiB
Plaintext

This is a list of things we found ourselves wanting while we were
using other crates.
Some of these are probably a great idea; some of them are probably
not. Step one for every one of these is to make sure that it really
is a good idea. If it is, then let's carefully figure out what we
need, THEN see whether that maintainers of the crate in question are
open to having a feature that accomplishes what we want, and THEN
offer to build it for them, if we know how.
==================================================
rust itself:
* specialization.
* existential types.
* async functions in traits (without #[async_trait]).
dalek-crypto:
* Upgrade to latest version of rand crate.
ed25519-dalek:
* defer signature verification without prehash mode.
(I want a way, given a document D and a signature S, to construct
a small object representing (SHA(D), S) so that I can check that
signature later on without having to hold on to all of D.)
https://github.com/dalek-cryptography/ed25519-dalek/pull/186
phf:
* A much cheaper hash function.
rsa: (see arti#146 for discussion)
* get raw signed data, to allow multiple signed formats.
(Tor has some places in the specification where we say "a valid signature
is a signature whose signed data _begins with_ the SHA256 of the document",
to allow the possibility of adding a second hash to the future. But `rsa`
has no way to say "check this signature and its padding, then give me
the signed data.")
crypto: (see arti#146 for discussion)
* A key agreement trait, specifically for diffie-hellman operations.
(Or do they have one already?)
ed25519 trait:
* Batch signature verification support. (or do they have this already?)
native-tls:
* Support for RFC5705 exporters where available.
webpki:
* Support for cert without extensions and/or without alpn
https://github.com/briansmith/webpki/issues/219
# Not actually using these crates:
bitvec
* more efficient bitwise operations.
ring:
* static curve25519
pem: (see arti#146 for discussion)
* should use multiline support, or at least not copy when decoding
base64 multiline.
* should be stricter?
tls-api:
* Support for disabling certificate verification
* Support for getting certificate (or does it have it?)
* Support for RFC5705 exporters