Nick Mathewson
4d24fff9c0
Upgrade dependencies
2020-11-10 12:27:10 -05:00
Nick Mathewson
9c7ed1fdde
upgrade a few packages.
2020-11-05 16:56:29 -05:00
Nick Mathewson
fbbc14d4fb
Tests for tor-chanmgr.
2020-10-30 15:45:53 -04:00
Nick Mathewson
f399851bcf
Implement a channel-manager type to get or launch channels on request.
2020-10-30 09:51:31 -04:00
Nick Mathewson
ee9ad7f59d
Run "cargo upgrade".
2020-10-26 14:56:06 -04:00
Nick Mathewson
8c09981427
Use from_bytes name for Ed25519Identity
2020-10-25 20:32:47 -04:00
Nick Mathewson
9ef63a01e3
Test for finish-handshake function
2020-10-23 09:04:10 -04:00
Nick Mathewson
150ed235c4
Add a fuzzer for our x509_rsa_kludge function.
2020-10-21 10:05:42 -04:00
Nick Mathewson
1316028485
Ed25519 batch verification test.
2020-10-21 09:21:47 -04:00
Nick Mathewson
0cd6e38623
More tests for ed25519identity
2020-10-21 09:06:12 -04:00
Nick Mathewson
1dc3fc214a
Implement From, not Into.
...
These traits are inverses of one another, but implementing From is
always preferred since rust 1.41 relaxed the "orphan rules".
2020-10-19 17:40:43 -04:00
Nick Mathewson
f3e1fafca2
Validate master-key-ed25519 field in routerdescs
2020-10-19 09:44:38 -04:00
Nick Mathewson
295a791a82
Improvements to Relay type in tor-netdir.
...
Now, a Relay is always valid. This required some changes to the
API: all_relays() has to return a new UncheckedRelay type that might
or might not be valid, and the functions on Relay and ChanTarget
that return ed25519 identities need to return an Ed25519Identity,
not an ed25519::PublicKey.
This change required some new encoding/decoding/conversion functions
on Ed25519Identity.
2020-10-19 09:22:49 -04:00
Nick Mathewson
1abd93d696
Clarify kludgey magic in our to_der() function.
2020-10-18 16:50:40 -04:00
Nick Mathewson
3408c9ad26
Run "cargo upgrade".
2020-10-15 13:32:02 -04:00
Nick Mathewson
6f75b82ef3
Use Ed25519Identity in microdescriptors.
2020-10-15 12:42:09 -04:00
Nick Mathewson
c00f1671a2
Add an (unchecked) Ed25519Identity type
...
This type differs from ed25519::PublicKey in that it is _not_
checked or expanded.
2020-10-15 12:15:51 -04:00
Nick Mathewson
85151085ec
llcrypto: Move ed25519 module into its own file.
2020-10-15 11:45:06 -04:00
Nick Mathewson
02e5380a73
tests for some failing cases in mdconsensus
2020-10-06 14:12:43 -04:00
Nick Mathewson
17273d38d9
Make rsa::PublicKey derive Debug.
2020-10-02 14:03:15 -04:00
Nick Mathewson
610739c139
Enable batch ed25519 verification.
2020-10-02 11:53:50 -04:00
Nick Mathewson
a3143ab960
Run cargo upgrade.
2020-09-26 14:20:28 -04:00
Nick Mathewson
f945af0c41
Document private members in most crates
2020-09-24 19:25:37 -04:00
Nick Mathewson
0c131dc080
Run cargo upgrade
2020-09-21 13:45:36 -04:00
Nick Mathewson
963ab969cf
Add test for failing RSA identity construction
2020-09-13 17:44:34 -04:00
Nick Mathewson
41ca4eb154
Add some test vectors for rsa, taken from chutney
2020-09-13 17:39:01 -04:00
Nick Mathewson
9a94f11938
Now that the rsa crate has pkcs1 decoding, use it.
...
Also, instead of implementing an otherwise-derivable Hash for rsa
public keys, tell clippy not to worry that we're defining
partialeq but not hash.
2020-09-13 17:37:11 -04:00
Nick Mathewson
dcc155027d
stop exposing rsa::errors::Result.
2020-09-13 13:04:19 -04:00
Nick Mathewson
fe5a05497f
Add unit test for ValidatableEd25519Signature
2020-09-13 12:41:59 -04:00
Nick Mathewson
2040db71d0
Add test vectors for curve25519->ed25519 parts of llcrypto
...
Also add a terminating NUL byte to a derivation string, to ensure
that our results match Tor's results. (This does not actually serve
a purpose FWICT.)
2020-09-13 12:10:56 -04:00
Nick Mathewson
6c4944ab3e
llcrypto: Fix a bug in ed25519->curve25519 secret key conversion
...
We were taking the sign bit from the _secret_ key, which is totally
incorrect. Instead it needs to be taken from the _public_ key.
Additionally, add a unit test for ed25519->curve25519 code.
2020-09-13 12:10:56 -04:00
Nick Mathewson
8fee269f94
llcrypto: tests for rsa kludge
2020-09-13 12:10:56 -04:00
Nick Mathewson
ee71abe560
Pare down and sort dependencies
2020-09-09 19:17:49 -04:00
Nick Mathewson
9f30b47cb7
Run cargo upgrade, except for stream-cipher.
2020-09-09 19:06:00 -04:00
Nick Mathewson
e95dec2437
cargo fix --edition-idioms
2020-09-09 18:59:04 -04:00
Nick Mathewson
e02255ec00
Also RSA identities on channel handshakes
...
This took a good bit of hacking, including a kludge to extract an
RSA subject key from an x509 cert, since we didn't have a good way
to do that.
2020-09-09 18:08:33 -04:00
Nick Mathewson
b7b5d92847
Fix bogus docs in ll::pk::rsa
2020-09-09 16:58:35 -04:00
Nick Mathewson
a4f1b27334
Fix clippy warnings; improve key type for consensus.
2020-09-07 17:27:29 -04:00
Nick Mathewson
3df3198363
RSAIdentity: Better Display and Debug.
2020-09-07 17:15:03 -04:00
Nick Mathewson
b3358673b5
Migrate certificate and routerdesc checking to tor-checkable
...
Now these types are parsed and returned wrapped inside a checkable
object.
2020-09-03 14:45:46 -04:00
Nick Mathewson
4ec97aa613
llcrypto: Define a "ValidatableSignature" type
...
This type wraps a signature, a public key, and the signed object.
It's meant to be useful for implementing SelfSigned objects.
2020-09-03 10:34:40 -04:00
Nick Mathewson
790d6becf2
Implement an ersatz hash() for RSAIdentity
...
For whatever reason, something I had didn't like me implementing a
custom PartialEq but deriving Hash
2020-08-28 18:16:56 -04:00
Nick Mathewson
4b75c51882
Run cargo-upgrade.
2020-08-28 18:14:17 -04:00
Nick Mathewson
f55f86c6a8
llcrypto: add test vectors for sha3 and shake
2020-08-28 17:47:16 -04:00
Nick Mathewson
e221146d9e
llcrypto: make RSAIdentity implement the Hash trait.
2020-08-27 12:54:07 -04:00
Nick Mathewson
173bec26a5
Update to latest packages; ed25519 now needs signature crate traits.
2020-07-20 20:55:03 -04:00
Nick Mathewson
c602883881
Use "cargo upgrade" from cargo-edit to list current versions
2020-06-12 21:06:07 -04:00
Nick Mathewson
32ecff11eb
Upgrade to latest version of rsa crate
2020-06-12 21:05:01 -04:00
Nick Mathewson
6264041b77
update to use latest rust-crypto traits and modules
2020-06-10 14:16:07 -04:00
Nick Mathewson
75d24e6742
llcrypto: test vectors for sha2
2020-05-21 13:27:48 -04:00