aboutsummaryrefslogtreecommitdiffstats
path: root/cipher/rsa.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>1997-12-09 12:46:23 +0000
committerWerner Koch <[email protected]>1997-12-09 12:46:23 +0000
commit935965049d424d3bb69efb672f9f44c36e7cbcb6 (patch)
tree37113923fa101828e1b43a8a71b9a85e17cd82a8 /cipher/rsa.c
parentdetached signatures are working (diff)
downloadgnupg-935965049d424d3bb69efb672f9f44c36e7cbcb6.tar.gz
gnupg-935965049d424d3bb69efb672f9f44c36e7cbcb6.zip
fingerprints and self signatures added
Diffstat (limited to 'cipher/rsa.c')
-rw-r--r--cipher/rsa.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/cipher/rsa.c b/cipher/rsa.c
index a1f08457b..db82b48d7 100644
--- a/cipher/rsa.c
+++ b/cipher/rsa.c
@@ -157,6 +157,22 @@ rsa_generate( RSA_public_key *pk, RSA_secret_key *sk, unsigned nbits )
}
+/****************
+ * Test wether the secret key is valid.
+ * Returns: true if this is a valid key.
+ */
+int
+rsa_check_secret_key( RSA_secret_key *sk )
+{
+ int rc;
+ MPI temp = mpi_alloc( mpi_get_nlimbs(sk->p)*2 );
+
+ mpi_mul(temp, sk->p, sk->q );
+ rc = mpi_cmp( temp, sk->n );
+ mpi_free(temp);
+ return !rc;
+}
+
/****************