Rename crypto_pk_check_key(), use it more reasonably, add tests
commit600e046ed32f9826bcbdf223d99ed8af23a67504
authorNick Mathewson <nickm@torproject.org>
Fri, 31 Aug 2018 20:15:20 +0000 (31 16:15 -0400)
committerNick Mathewson <nickm@torproject.org>
Tue, 4 Sep 2018 18:52:35 +0000 (4 14:52 -0400)
treeddd8bd777f63c3ee5f684bb40478a4a91b94a492
parent3b5d6ef15bec26c3bda22057ba09e1301613ee71
Rename crypto_pk_check_key(), use it more reasonably, add tests

This function was a wrapper around RSA_check_key() in openssl, which
checks for invalid RSA private keys (like those where p or q are
composite, or where d is not the inverse of e, or where n != p*q).
We don't need a function like this in NSS, since unlike OpenSSL, NSS
won't let you import a bogus private key.

I've renamed the function and changed its return type to make it
more reasonable, and added a unit test for trying to read a key
where n != p*q.
src/feature/relay/router.c
src/feature/rend/rendservice.c
src/lib/crypt_ops/crypto_rsa.h
src/lib/crypt_ops/crypto_rsa_nss.c
src/lib/crypt_ops/crypto_rsa_openssl.c
src/test/test_crypto.c