diff options
author | Nick Mathewson <nickm@torproject.org> | 2011-05-16 14:50:53 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2011-05-16 14:50:53 -0400 |
commit | 03ccce6d776c617d81837ae9cc1f33f45d154e92 (patch) | |
tree | a85fb96f4f6c5908968649ca883664a6f78284e2 /src/common | |
parent | e423447f53f3a1b3b72cea3e52f345143e847d48 (diff) | |
parent | e908e3a332dd469af2facac0846d0dc8349a30d3 (diff) | |
download | tor-03ccce6d776c617d81837ae9cc1f33f45d154e92.tar.gz tor-03ccce6d776c617d81837ae9cc1f33f45d154e92.zip |
Merge remote-tracking branch 'origin/maint-0.2.2'
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/crypto.c | 12 | ||||
-rw-r--r-- | src/common/crypto.h | 1 |
2 files changed, 13 insertions, 0 deletions
diff --git a/src/common/crypto.c b/src/common/crypto.c index 3de6fdded2..684ede06a6 100644 --- a/src/common/crypto.c +++ b/src/common/crypto.c @@ -733,6 +733,18 @@ crypto_pk_key_is_private(const crypto_pk_env_t *key) return PRIVATE_KEY_OK(key); } +/** Return true iff <b>env</b> contains a public key whose public exponent + * equals 65537. + */ +int +crypto_pk_public_exponent_ok(crypto_pk_env_t *env) +{ + tor_assert(env); + tor_assert(env->key); + + return BN_is_word(env->key->e, 65537); +} + /** Compare the public-key components of a and b. Return -1 if a\<b, 0 * if a==b, and 1 if a\>b. */ diff --git a/src/common/crypto.h b/src/common/crypto.h index d50ca7060d..f28087589e 100644 --- a/src/common/crypto.h +++ b/src/common/crypto.h @@ -122,6 +122,7 @@ size_t crypto_pk_keysize(crypto_pk_env_t *env); crypto_pk_env_t *crypto_pk_dup_key(crypto_pk_env_t *orig); crypto_pk_env_t *crypto_pk_copy_full(crypto_pk_env_t *orig); int crypto_pk_key_is_private(const crypto_pk_env_t *key); +int crypto_pk_public_exponent_ok(crypto_pk_env_t *env); int crypto_pk_public_encrypt(crypto_pk_env_t *env, char *to, size_t tolen, const char *from, size_t fromlen, int padding); |