From c72c16b7e66b88ac37081caa53f30fe51fcad0a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20M=C3=B6ller?= Date: Wed, 24 Mar 2010 15:41:41 +0100 Subject: Interface change, let all rsa signature functions have a return value. Rev: nettle/ChangeLog:1.54 Rev: nettle/NEWS:1.4 Rev: nettle/examples/rsa-sign.c:1.2 Rev: nettle/pgp-encode.c:1.3 Rev: nettle/pkcs1-rsa-md5.c:1.3 Rev: nettle/pkcs1-rsa-sha1.c:1.3 Rev: nettle/pkcs1-rsa-sha256.c:1.3 Rev: nettle/pkcs1-rsa-sha512.c:1.2 Rev: nettle/pkcs1.c:1.3 Rev: nettle/pkcs1.h:1.3 Rev: nettle/rsa-compat.c:1.3 Rev: nettle/rsa-md5-sign.c:1.3 Rev: nettle/rsa-md5-verify.c:1.3 Rev: nettle/rsa-sha1-sign.c:1.3 Rev: nettle/rsa-sha1-verify.c:1.3 Rev: nettle/rsa-sha256-sign.c:1.3 Rev: nettle/rsa-sha256-verify.c:1.3 Rev: nettle/rsa-sha512-sign.c:1.2 Rev: nettle/rsa-sha512-verify.c:1.2 Rev: nettle/rsa.h:1.4 Rev: nettle/testsuite/cxx-test.cxx:1.3 Rev: nettle/testsuite/pkcs1-test.c:1.3 Rev: nettle/testsuite/testutils.c:1.5 --- rsa-sha512-sign.c | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) (limited to 'rsa-sha512-sign.c') diff --git a/rsa-sha512-sign.c b/rsa-sha512-sign.c index 2d0981d8..fa14487d 100644 --- a/rsa-sha512-sign.c +++ b/rsa-sha512-sign.c @@ -34,26 +34,40 @@ #include "bignum.h" #include "pkcs1.h" -void +int rsa_sha512_sign(const struct rsa_private_key *key, struct sha512_ctx *hash, mpz_t s) { - assert(key->size >= RSA_MINIMUM_N_OCTETS); + assert(key->size > 0); - pkcs1_rsa_sha512_encode(s, key->size - 1, hash); - - rsa_compute_root(key, s, s); + if (pkcs1_rsa_sha512_encode(s, key->size - 1, hash)) + { + rsa_compute_root(key, s, s); + return 1; + } + else + { + mpz_set_ui(s, 0); + return 0; + } } -void +int rsa_sha512_sign_digest(const struct rsa_private_key *key, const uint8_t *digest, mpz_t s) { - assert(key->size >= RSA_MINIMUM_N_OCTETS); - - pkcs1_rsa_sha512_encode_digest(s, key->size - 1, digest); + assert(key->size > 0); - rsa_compute_root(key, s, s); + if (pkcs1_rsa_sha512_encode_digest(s, key->size - 1, digest)) + { + rsa_compute_root(key, s, s); + return 1; + } + else + { + mpz_set_ui(s, 0); + return 0; + } } -- cgit v1.2.1