-remove async ecc key generation, not needed
[oweals/gnunet.git] / src / util / test_crypto_ksk.c
index 55d2dffcb4721e6eed14963090c774fe1bbea97f..f062e31f500fadd1c3fbe7c48d8678e7b7f06fff 100644 (file)
@@ -25,9 +25,9 @@
  */
 #include "platform.h"
 #include "gnunet_common.h"
-#include "gnunet_crypto_lib.h"
+#include "gnunet_util_lib.h"
 #include "gnunet_signatures.h"
-#include "gnunet_time_lib.h"
+
 
 #define TESTSTRING "Hello World\0"
 #define MAX_TESTVAL 20
@@ -39,41 +39,39 @@ static int
 testCorrectKey ()
 {
   const char *want =
-    "010601000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b73c215f7a5e6b09bec55713c901786c09324a150980e014bdb0d04426934929c3b4971a9711af5455536cd6eeb8bfa004ee904972a737455f53c752987d8c82b755bc02882b44950c4acdc1672ba74c3b94d81a4c1ea3d74e7700ae5594c3a4f3c559e4bff2df6844fac302e4b66175e14dc8bad3ce44281d2fec1a1abef06301010000";
-  GNUNET_HashCode in;
+      "010601000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b73c215f7a5e6b09bec55713c901786c09324a150980e014bdb0d04426934929c3b4971a9711af5455536cd6eeb8bfa004ee904972a737455f53c752987d8c82b755bc02882b44950c4acdc1672ba74c3b94d81a4c1ea3d74e7700ae5594c3a4f3c559e4bff2df6844fac302e4b66175e14dc8bad3ce44281d2fec1a1abef06301010000";
+  struct GNUNET_HashCode in;
   struct GNUNET_CRYPTO_RsaPrivateKey *hostkey;
   struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pkey;
   int i;
   char out[3];
 
-  fprintf (stderr, "Testing KBlock key correctness");
+  FPRINTF (stderr, "%s",  "Testing KBlock key correctness");
   GNUNET_CRYPTO_hash ("X", strlen ("X"), &in);
   hostkey = GNUNET_CRYPTO_rsa_key_create_from_hash (&in);
   if (hostkey == NULL)
-    {
-      GNUNET_break (0);
-      return GNUNET_SYSERR;
-    }
+  {
+    GNUNET_break (0);
+    return GNUNET_SYSERR;
+  }
   GNUNET_CRYPTO_rsa_key_get_public (hostkey, &pkey);
   GNUNET_CRYPTO_rsa_key_free (hostkey);
 #if 0
-  for (i = 0; i < sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded);
-       i++)
+  for (i = 0; i < sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded); i++)
     printf ("%02x", ((unsigned char *) &pkey)[i]);
   printf ("\n");
 #endif
-  for (i = 0; i < sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded);
-       i++)
+  for (i = 0; i < sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded); i++)
+  {
+    snprintf (out, sizeof (out), "%02x", ((unsigned char *) &pkey)[i]);
+    if (0 != strncmp (out, &want[i * 2], 2))
     {
-      snprintf (out, sizeof (out), "%02x", ((unsigned char *) &pkey)[i]);
-      if (0 != strncmp (out, &want[i * 2], 2))
-       {
-         fprintf (stderr, " Failed! Wanted %.2s but got %2s at %d\n",
-                  &want[i * 2], out, i);
-         return GNUNET_SYSERR;
-       }
+      FPRINTF (stderr, " Failed! Wanted %.2s but got %2s at %d\n", &want[i * 2],
+               out, i);
+      return GNUNET_SYSERR;
     }
-  fprintf (stderr, " OK\n");
+  }
+  FPRINTF (stderr, "%s",  " OK\n");
   return GNUNET_OK;
 }
 
@@ -81,20 +79,20 @@ testCorrectKey ()
 static int
 testMultiKey (const char *word)
 {
-  GNUNET_HashCode in;
+  struct GNUNET_HashCode in;
   struct GNUNET_CRYPTO_RsaPrivateKey *hostkey;
   struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pkey;
   struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pkey1;
   int i;
 
-  fprintf (stderr, "Testing KBlock key uniqueness (%s) ", word);
+  FPRINTF (stderr, "Testing KBlock key uniqueness (%s) ", word);
   GNUNET_CRYPTO_hash (word, strlen (word), &in);
   hostkey = GNUNET_CRYPTO_rsa_key_create_from_hash (&in);
   if (hostkey == NULL)
-    {
-      GNUNET_break (0);
-      return GNUNET_SYSERR;
-    }
+  {
+    GNUNET_break (0);
+    return GNUNET_SYSERR;
+  }
   GNUNET_CRYPTO_rsa_key_get_public (hostkey, &pkey);
   /*
    * for (i=0;i<sizeof(struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded);i++)
@@ -102,27 +100,27 @@ testMultiKey (const char *word)
    * printf("\n"); */
   GNUNET_CRYPTO_rsa_key_free (hostkey);
   for (i = 0; i < UNIQUE_ITER; i++)
+  {
+    FPRINTF (stderr, "%s",  ".");
+    hostkey = GNUNET_CRYPTO_rsa_key_create_from_hash (&in);
+    if (hostkey == NULL)
+    {
+      GNUNET_break (0);
+      FPRINTF (stderr, "%s",  " ERROR\n");
+      return GNUNET_SYSERR;
+    }
+    GNUNET_CRYPTO_rsa_key_get_public (hostkey, &pkey1);
+    GNUNET_CRYPTO_rsa_key_free (hostkey);
+    if (0 !=
+        memcmp (&pkey, &pkey1,
+                sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded)))
     {
-      fprintf (stderr, ".");
-      hostkey = GNUNET_CRYPTO_rsa_key_create_from_hash (&in);
-      if (hostkey == NULL)
-       {
-         GNUNET_break (0);
-         fprintf (stderr, " ERROR\n");
-         return GNUNET_SYSERR;
-       }
-      GNUNET_CRYPTO_rsa_key_get_public (hostkey, &pkey1);
-      GNUNET_CRYPTO_rsa_key_free (hostkey);
-      if (0 !=
-         memcmp (&pkey, &pkey1,
-                 sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded)))
-       {
-         GNUNET_break (0);
-         fprintf (stderr, " ERROR\n");
-         return GNUNET_SYSERR;
-       }
+      GNUNET_break (0);
+      FPRINTF (stderr, "%s",  " ERROR\n");
+      return GNUNET_SYSERR;
     }
-  fprintf (stderr, " OK\n");
+  }
+  FPRINTF (stderr, "%s",  " OK\n");
   return GNUNET_OK;
 }
 
@@ -137,41 +135,42 @@ testEncryptDecrypt (struct GNUNET_CRYPTO_RsaPrivateKey *hostkey)
   struct GNUNET_TIME_Absolute start;
   int ok;
 
-  fprintf (stderr, "W");
+  FPRINTF (stderr, "%s",  "W");
   GNUNET_CRYPTO_rsa_key_get_public (hostkey, &pkey);
 
   ok = 0;
   start = GNUNET_TIME_absolute_get ();
   for (i = 0; i < ITER; i++)
+  {
+    FPRINTF (stderr, "%s",  ".");
+    if (GNUNET_SYSERR ==
+        GNUNET_CRYPTO_rsa_encrypt (TESTSTRING, strlen (TESTSTRING) + 1, &pkey,
+                                   &target))
+    {
+      FPRINTF (stderr, "%s",  "GNUNET_CRYPTO_rsa_encrypt returned SYSERR\n");
+      ok++;
+      continue;
+    }
+    if (-1 ==
+        GNUNET_CRYPTO_rsa_decrypt (hostkey, &target, result,
+                                   strlen (TESTSTRING) + 1))
+    {
+      FPRINTF (stderr, "%s",  "GNUNET_CRYPTO_rsa_decrypt returned SYSERR\n");
+      ok++;
+      continue;
+    }
+    if (strncmp (TESTSTRING, result, strlen (TESTSTRING)) != 0)
     {
-      fprintf (stderr, ".");
-      if (GNUNET_SYSERR ==
-         GNUNET_CRYPTO_rsa_encrypt (TESTSTRING, strlen (TESTSTRING) + 1,
-                                    &pkey, &target))
-       {
-         fprintf (stderr, "GNUNET_CRYPTO_rsa_encrypt returned SYSERR\n");
-         ok++;
-         continue;
-       }
-      if (-1 ==
-         GNUNET_CRYPTO_rsa_decrypt (hostkey, &target, result,
-                                    strlen (TESTSTRING) + 1))
-       {
-         fprintf (stderr, "GNUNET_CRYPTO_rsa_decrypt returned SYSERR\n");
-         ok++;
-         continue;
-       }
-      if (strncmp (TESTSTRING, result, strlen (TESTSTRING)) != 0)
-       {
-         printf ("%s != %.*s - testEncryptDecrypt failed!\n", TESTSTRING,
-                 MAX_TESTVAL, result);
-         ok++;
-         continue;
-       }
+      printf ("%s != %.*s - testEncryptDecrypt failed!\n", TESTSTRING,
+              MAX_TESTVAL, result);
+      ok++;
+      continue;
     }
-  printf ("%d RSA encrypt/decrypt operations %llums (%d failures)\n", ITER,
-         (unsigned long long)
-         GNUNET_TIME_absolute_get_duration (start).rel_value, ok);
+  }
+  printf ("%d RSA encrypt/decrypt operations %s (%d failures)\n", 
+         ITER,
+         GNUNET_STRINGS_relative_time_to_string (GNUNET_TIME_absolute_get_duration (start), GNUNET_YES), 
+         ok);
   if (ok == 0)
     return GNUNET_OK;
   else
@@ -188,40 +187,40 @@ testSignVerify (struct GNUNET_CRYPTO_RsaPrivateKey *hostkey)
   struct GNUNET_TIME_Absolute start;
   int ok = GNUNET_OK;
 
-  fprintf (stderr, "W");
+  FPRINTF (stderr, "%s",  "W");
   GNUNET_CRYPTO_rsa_key_get_public (hostkey, &pkey);
   start = GNUNET_TIME_absolute_get ();
   purp.size = htonl (sizeof (struct GNUNET_CRYPTO_RsaSignaturePurpose));
   purp.purpose = htonl (GNUNET_SIGNATURE_PURPOSE_TEST);
   for (i = 0; i < ITER; i++)
+  {
+    FPRINTF (stderr, "%s",  ".");
+    if (GNUNET_SYSERR == GNUNET_CRYPTO_rsa_sign (hostkey, &purp, &sig))
     {
-      fprintf (stderr, ".");
-      if (GNUNET_SYSERR == GNUNET_CRYPTO_rsa_sign (hostkey, &purp, &sig))
-       {
-         fprintf (stderr, "GNUNET_CRYPTO_rsa_sign returned SYSERR\n");
-         ok = GNUNET_SYSERR;
-         continue;
-       }
-      if (GNUNET_SYSERR ==
-         GNUNET_CRYPTO_rsa_verify (GNUNET_SIGNATURE_PURPOSE_TEST, &purp,
-                                   &sig, &pkey))
-       {
-         printf ("GNUNET_CRYPTO_rsa_verify failed!\n");
-         ok = GNUNET_SYSERR;
-         continue;
-       }
-      if (GNUNET_SYSERR !=
-         GNUNET_CRYPTO_rsa_verify
-         (GNUNET_SIGNATURE_PURPOSE_TRANSPORT_PONG_OWN, &purp, &sig, &pkey))
-       {
-         printf ("GNUNET_CRYPTO_rsa_verify failed to fail!\n");
-         ok = GNUNET_SYSERR;
-         continue;
-       }
+      FPRINTF (stderr, "%s",  "GNUNET_CRYPTO_rsa_sign returned SYSERR\n");
+      ok = GNUNET_SYSERR;
+      continue;
     }
-  printf ("%d RSA sign/verify operations %llums\n", ITER,
-         (unsigned long long)
-         GNUNET_TIME_absolute_get_duration (start).rel_value);
+    if (GNUNET_SYSERR ==
+        GNUNET_CRYPTO_rsa_verify (GNUNET_SIGNATURE_PURPOSE_TEST, &purp, &sig,
+                                  &pkey))
+    {
+      printf ("GNUNET_CRYPTO_rsa_verify failed!\n");
+      ok = GNUNET_SYSERR;
+      continue;
+    }
+    if (GNUNET_SYSERR !=
+        GNUNET_CRYPTO_rsa_verify (GNUNET_SIGNATURE_PURPOSE_TRANSPORT_PONG_OWN,
+                                  &purp, &sig, &pkey))
+    {
+      printf ("GNUNET_CRYPTO_rsa_verify failed to fail!\n");
+      ok = GNUNET_SYSERR;
+      continue;
+    }
+  }
+  printf ("%d RSA sign/verify operations %s\n", 
+         ITER,
+         GNUNET_STRINGS_relative_time_to_string (GNUNET_TIME_absolute_get_duration (start), GNUNET_YES));
   return ok;
 }
 
@@ -230,7 +229,7 @@ int
 main (int argc, char *argv[])
 {
   int failureCount = 0;
-  GNUNET_HashCode in;
+  struct GNUNET_HashCode in;
   struct GNUNET_CRYPTO_RsaPrivateKey *hostkey;
 
   GNUNET_log_setup ("test-crypto-ksk", "WARNING", NULL);
@@ -239,10 +238,10 @@ main (int argc, char *argv[])
   GNUNET_CRYPTO_hash_create_random (GNUNET_CRYPTO_QUALITY_WEAK, &in);
   hostkey = GNUNET_CRYPTO_rsa_key_create_from_hash (&in);
   if (hostkey == NULL)
-    {
-      printf ("\nGNUNET_CRYPTO_rsa_key_create_from_hash failed!\n");
-      return 1;
-    }
+  {
+    printf ("\nGNUNET_CRYPTO_rsa_key_create_from_hash failed!\n");
+    return 1;
+  }
   if (GNUNET_OK != testMultiKey ("foo"))
     failureCount++;
   if (GNUNET_OK != testMultiKey ("bar"))
@@ -254,9 +253,9 @@ main (int argc, char *argv[])
   GNUNET_CRYPTO_rsa_key_free (hostkey);
 
   if (failureCount != 0)
-    {
-      printf ("\n\n%d TESTS FAILED!\n\n", failureCount);
-      return -1;
-    }
+  {
+    printf ("\n\n%d TESTS FAILED!\n\n", failureCount);
+    return -1;
+  }
   return 0;
 }