summaryrefslogtreecommitdiff
path: root/rsa-sha512-sign.c
diff options
context:
space:
mode:
authorNiels Möller <nisse@lysator.liu.se>2010-03-24 15:41:41 +0100
committerNiels Möller <nisse@lysator.liu.se>2010-03-24 15:41:41 +0100
commitc72c16b7e66b88ac37081caa53f30fe51fcad0a0 (patch)
treef3df0bc2de339debaaa9e0fa1149551aad52c34c /rsa-sha512-sign.c
parent153141e709a3a1548215fb63a1b840fc27d6e90e (diff)
downloadnettle-c72c16b7e66b88ac37081caa53f30fe51fcad0a0.tar.gz
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
Diffstat (limited to 'rsa-sha512-sign.c')
-rw-r--r--rsa-sha512-sign.c34
1 files changed, 24 insertions, 10 deletions
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;
+ }
}