From 7b749e6a0665a8bd4c28cad45cf81614bf3dbcec Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?=
 <grubba@grubba.org>
Date: Tue, 13 Jun 2000 21:28:10 +0200
Subject: [PATCH] Added wrappers for get_{d,p,q}().

Rev: lib/modules/Crypto/rsa.pike:1.21
---
 lib/modules/Crypto/rsa.pike | 53 ++++++++++++++++++++++++++++++++++++-
 1 file changed, 52 insertions(+), 1 deletion(-)

diff --git a/lib/modules/Crypto/rsa.pike b/lib/modules/Crypto/rsa.pike
index f7dc3443fd..2ecf36af15 100644
--- a/lib/modules/Crypto/rsa.pike
+++ b/lib/modules/Crypto/rsa.pike
@@ -1,4 +1,4 @@
-/* $Id: rsa.pike,v 1.20 2000/05/04 16:04:41 grubba Exp $
+/* $Id: rsa.pike,v 1.21 2000/06/13 19:28:10 grubba Exp $
  *
  * Follow the PKCS#1 standard for padding and encryption.
  */
@@ -182,6 +182,42 @@ static class rsa_wrapper
     return res1;
   }
 
+  object get_d()
+  {
+    object res1 = _rsa_pike->get_d();
+    object res2 = BIGNUM(_rsa_c->cooked_get_d(), 256);
+
+    if (res1 != res2) {
+      werror("RSA: get_e() failed!\n");
+      error(sprintf("res1:%O != res2:%O\n", res1, res2));
+    }
+    return res1;
+  }
+
+  object get_p()
+  {
+    object res1 = _rsa_pike->get_p();
+    object res2 = BIGNUM(_rsa_c->cooked_get_p(), 256);
+
+    if (res1 != res2) {
+      werror("RSA: get_p() failed!\n");
+      error(sprintf("res1:%O != res2:%O\n", res1, res2));
+    }
+    return res1;
+  }
+
+  object get_q()
+  {
+    object res1 = _rsa_pike->get_q();
+    object res2 = BIGNUM(_rsa_c->cooked_get_q(), 256);
+
+    if (res1 != res2) {
+      werror("RSA: get_q() failed!\n");
+      error(sprintf("res1:%O != res2:%O\n", res1, res2));
+    }
+    return res1;
+  }
+
   static void create()
   {
     werror("RSA: Using rsa_wrapper\n");
@@ -214,6 +250,21 @@ bignum get_e()
 {
   return BIGNUM(cooked_get_e(), 256);
 }
+
+bignum get_d()
+{
+  return BIGNUM(cooked_get_d(), 256);
+}
+
+bignum get_p()
+{
+  return BIGNUM(cooked_get_p(), 256);
+}
+
+bignum get_q()
+{
+  return BIGNUM(cooked_get_q(), 256);
+}
 #endif /* !USE_PIKE_RSA && !USE_RSA_WRAPPER && constant(_Crypto._rsa) */
 
 object sign(string message, program h)
-- 
GitLab