2003-07-23 Moritz Schulte <moritz@g10code.com>
authorMoritz Schulte <mo@g10code.com>
Wed, 23 Jul 2003 16:14:38 +0000 (16:14 +0000)
committerMoritz Schulte <mo@g10code.com>
Wed, 23 Jul 2003 16:14:38 +0000 (16:14 +0000)
* ac.c (key_copy): New function...
(check_one): ... use it.

tests/ChangeLog
tests/ac.c

index efe6aba..c6a79e7 100644 (file)
@@ -1,3 +1,8 @@
+2003-07-23  Moritz Schulte  <moritz@g10code.com>
+
+       * ac.c (key_copy): New function...
+       (check_one): ... use it.
+
 2003-07-22  Moritz Schulte  <moritz@g10code.com>
 
        * basic.c (check_ciphers): Use gcry_cipher_map_name.
index 19d86f6..898c605 100644 (file)
@@ -40,11 +40,24 @@ die (const char *format, ...)
 }
 
 void
+key_copy (gcry_ac_handle_t handle,
+         gcry_ac_key_type_t type,
+         gcry_ac_key_t *key_cp, gcry_ac_key_t key)
+{
+  gcry_error_t err = 0;
+
+  err = gcry_ac_key_init (key_cp, handle, type,
+                         gcry_ac_key_data_get (key));
+
+  assert (! err);
+}
+
+void
 check_one (gcry_mpi_t x)
 {
   gcry_ac_handle_t handle;
   gcry_ac_key_pair_t key_pair;
-  gcry_ac_key_t key_sec, key_pub;
+  gcry_ac_key_t key_sec, key_sec_cp, key_pub, key_pub_cp;
   gcry_error_t err = 0;
   gcry_mpi_t x2;
   gcry_ac_data_t data, data2;
@@ -60,14 +73,17 @@ check_one (gcry_mpi_t x)
   assert (! err);
 
   key_sec = gcry_ac_key_pair_extract (key_pair, GCRY_AC_KEY_SECRET);
+  key_copy (handle, GCRY_AC_KEY_SECRET, &key_sec_cp, key_sec);
+
   key_pub = gcry_ac_key_pair_extract (key_pair, GCRY_AC_KEY_PUBLIC);
+  key_copy (handle, GCRY_AC_KEY_PUBLIC, &key_pub_cp, key_pub);
 
   err = gcry_ac_data_encrypt (handle, GCRY_AC_FLAG_DATA_NO_BLINDING,
-                             key_pub, x, &data);
+                             key_pub_cp, x, &data);
   assert (! err);
 
   err = gcry_ac_data_decrypt (handle, GCRY_AC_FLAG_DATA_NO_BLINDING,
-                             key_sec, &x2, data);
+                             key_sec_cp, &x2, data);
   assert (! err);
 
   assert (! gcry_mpi_cmp (x, x2));