/ 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