/ WANT_FROM_OTHER_CRATES
WANT_FROM_OTHER_CRATES
 1  This is a list of things we found ourselves wanting while we were
 2  using other crates.
 3  
 4  Some of these are probably a great idea; some of them are probably
 5  not.  Step one for every one of these is to make sure that it really
 6  is a good idea.  If it is, then let's carefully figure out what we
 7  need, THEN see whether that maintainers of the crate in question are
 8  open to having a feature that accomplishes what we want, and THEN
 9  offer to build it for them, if we know how.
10  
11  
12  ==================================================
13  
14  rust itself:
15   * specialization.
16   * existential types.
17   * async functions in traits (without #[async_trait]).
18  
19  dalek-crypto:
20  * Upgrade to latest version of rand crate.
21  
22  ed25519-dalek:
23  * defer signature verification without prehash mode.
24    (I want a way, given a document D and a signature S, to construct
25    a small object representing (SHA(D), S) so that I can check that
26    signature later on without having to hold on to all of D.)
27    https://github.com/dalek-cryptography/ed25519-dalek/pull/186
28  
29  phf:
30  * A much cheaper hash function.
31  
32  rsa: (see arti#146 for discussion)
33  * get raw signed data, to allow multiple signed formats.
34    (Tor has some places in the specification where we say "a valid signature
35    is a signature whose signed data _begins with_ the SHA256 of the document",
36    to allow the possibility of adding a second hash to the future. But `rsa`
37    has no way to say "check this signature and its padding, then give me
38    the signed data.")
39  
40  crypto: (see arti#146 for discussion)
41  * A key agreement trait, specifically for diffie-hellman operations.
42    (Or do they have one already?)
43  
44  ed25519 trait:
45  * Batch signature verification support. (or do they have this already?)
46  
47  native-tls:
48  * Support for RFC5705 exporters where available.
49  
50  webpki:
51  * Support for cert without extensions and/or without alpn
52    https://github.com/briansmith/webpki/issues/219
53  
54  
55  # Not actually using these crates:
56  
57  bitvec
58  * more efficient bitwise operations.
59  
60  ring:
61  * static curve25519
62  
63  pem: (see arti#146 for discussion)
64  * should use multiline support, or at least not copy when decoding
65    base64 multiline.
66  * should be stricter?
67  
68  
69  tls-api:
70  * Support for disabling certificate verification
71  * Support for getting certificate (or does it have it?)
72  * Support for RFC5705 exporters