aboutsummaryrefslogtreecommitdiff
path: root/src/util/test_crypto_ksk.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/test_crypto_ksk.c')
-rw-r--r--src/util/test_crypto_ksk.c194
1 files changed, 97 insertions, 97 deletions
diff --git a/src/util/test_crypto_ksk.c b/src/util/test_crypto_ksk.c
index 74f88d5bf..184f9f137 100644
--- a/src/util/test_crypto_ksk.c
+++ b/src/util/test_crypto_ksk.c
@@ -38,7 +38,8 @@
38static int 38static int
39testCorrectKey () 39testCorrectKey ()
40{ 40{
41 const char *want = "010601000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b73c215f7a5e6b09bec55713c901786c09324a150980e014bdb0d04426934929c3b4971a9711af5455536cd6eeb8bfa004ee904972a737455f53c752987d8c82b755bc02882b44950c4acdc1672ba74c3b94d81a4c1ea3d74e7700ae5594c3a4f3c559e4bff2df6844fac302e4b66175e14dc8bad3ce44281d2fec1a1abef06301010000"; 41 const char *want =
42 "010601000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b73c215f7a5e6b09bec55713c901786c09324a150980e014bdb0d04426934929c3b4971a9711af5455536cd6eeb8bfa004ee904972a737455f53c752987d8c82b755bc02882b44950c4acdc1672ba74c3b94d81a4c1ea3d74e7700ae5594c3a4f3c559e4bff2df6844fac302e4b66175e14dc8bad3ce44281d2fec1a1abef06301010000";
42 GNUNET_HashCode in; 43 GNUNET_HashCode in;
43 struct GNUNET_CRYPTO_RsaPrivateKey *hostkey; 44 struct GNUNET_CRYPTO_RsaPrivateKey *hostkey;
44 struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pkey; 45 struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pkey;
@@ -49,29 +50,28 @@ testCorrectKey ()
49 GNUNET_CRYPTO_hash ("X", strlen ("X"), &in); 50 GNUNET_CRYPTO_hash ("X", strlen ("X"), &in);
50 hostkey = GNUNET_CRYPTO_rsa_key_create_from_hash (&in); 51 hostkey = GNUNET_CRYPTO_rsa_key_create_from_hash (&in);
51 if (hostkey == NULL) 52 if (hostkey == NULL)
52 { 53 {
53 GNUNET_break (0); 54 GNUNET_break (0);
54 return GNUNET_SYSERR; 55 return GNUNET_SYSERR;
55 } 56 }
56 GNUNET_CRYPTO_rsa_key_get_public (hostkey, &pkey); 57 GNUNET_CRYPTO_rsa_key_get_public (hostkey, &pkey);
57 GNUNET_CRYPTO_rsa_key_free (hostkey); 58 GNUNET_CRYPTO_rsa_key_free (hostkey);
58#if 0 59#if 0
59 for (i=0;i<sizeof(struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded);i++) 60 for (i = 0; i < sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded); i++)
60 printf("%02x", ((unsigned char*) &pkey)[i]); 61 printf ("%02x", ((unsigned char *) &pkey)[i]);
61 printf ("\n"); 62 printf ("\n");
62#endif 63#endif
63 for (i=0;i<sizeof(struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded);i++) 64 for (i = 0; i < sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded); i++)
65 {
66 snprintf (out, sizeof (out), "%02x", ((unsigned char *) &pkey)[i]);
67 if (0 != strncmp (out, &want[i * 2], 2))
64 { 68 {
65 snprintf(out, sizeof (out), "%02x", ((unsigned char*) &pkey)[i]); 69 fprintf (stderr,
66 if (0 != strncmp (out, &want[i*2], 2)) 70 " Failed! Wanted %.2s but got %2s at %d\n",
67 { 71 &want[i * 2], out, i);
68 fprintf (stderr, 72 return GNUNET_SYSERR;
69 " Failed! Wanted %.2s but got %2s at %d\n",
70 &want[i*2],
71 out, i);
72 return GNUNET_SYSERR;
73 }
74 } 73 }
74 }
75 fprintf (stderr, " OK\n"); 75 fprintf (stderr, " OK\n");
76 return GNUNET_OK; 76 return GNUNET_OK;
77} 77}
@@ -90,37 +90,37 @@ testMultiKey (const char *word)
90 GNUNET_CRYPTO_hash (word, strlen (word), &in); 90 GNUNET_CRYPTO_hash (word, strlen (word), &in);
91 hostkey = GNUNET_CRYPTO_rsa_key_create_from_hash (&in); 91 hostkey = GNUNET_CRYPTO_rsa_key_create_from_hash (&in);
92 if (hostkey == NULL) 92 if (hostkey == NULL)
93 { 93 {
94 GNUNET_break (0); 94 GNUNET_break (0);
95 return GNUNET_SYSERR; 95 return GNUNET_SYSERR;
96 } 96 }
97 GNUNET_CRYPTO_rsa_key_get_public (hostkey, &pkey); 97 GNUNET_CRYPTO_rsa_key_get_public (hostkey, &pkey);
98 /* 98 /*
99 for (i=0;i<sizeof(struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded);i++) 99 * for (i=0;i<sizeof(struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded);i++)
100 printf("%02x", ((unsigned char*) &pkey)[i]); 100 * printf("%02x", ((unsigned char*) &pkey)[i]);
101 printf("\n"); */ 101 * printf("\n"); */
102 GNUNET_CRYPTO_rsa_key_free (hostkey); 102 GNUNET_CRYPTO_rsa_key_free (hostkey);
103 for (i = 0; i < UNIQUE_ITER; i++) 103 for (i = 0; i < UNIQUE_ITER; i++)
104 {
105 fprintf (stderr, ".");
106 hostkey = GNUNET_CRYPTO_rsa_key_create_from_hash (&in);
107 if (hostkey == NULL)
104 { 108 {
105 fprintf (stderr, "."); 109 GNUNET_break (0);
106 hostkey = GNUNET_CRYPTO_rsa_key_create_from_hash (&in); 110 fprintf (stderr, " ERROR\n");
107 if (hostkey == NULL) 111 return GNUNET_SYSERR;
108 {
109 GNUNET_break (0);
110 fprintf (stderr, " ERROR\n");
111 return GNUNET_SYSERR;
112 }
113 GNUNET_CRYPTO_rsa_key_get_public (hostkey, &pkey1);
114 GNUNET_CRYPTO_rsa_key_free (hostkey);
115 if (0 !=
116 memcmp (&pkey, &pkey1,
117 sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded)))
118 {
119 GNUNET_break (0);
120 fprintf (stderr, " ERROR\n");
121 return GNUNET_SYSERR;
122 }
123 } 112 }
113 GNUNET_CRYPTO_rsa_key_get_public (hostkey, &pkey1);
114 GNUNET_CRYPTO_rsa_key_free (hostkey);
115 if (0 !=
116 memcmp (&pkey, &pkey1,
117 sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded)))
118 {
119 GNUNET_break (0);
120 fprintf (stderr, " ERROR\n");
121 return GNUNET_SYSERR;
122 }
123 }
124 fprintf (stderr, " OK\n"); 124 fprintf (stderr, " OK\n");
125 return GNUNET_OK; 125 return GNUNET_OK;
126} 126}
@@ -142,32 +142,32 @@ testEncryptDecrypt (struct GNUNET_CRYPTO_RsaPrivateKey *hostkey)
142 ok = 0; 142 ok = 0;
143 start = GNUNET_TIME_absolute_get (); 143 start = GNUNET_TIME_absolute_get ();
144 for (i = 0; i < ITER; i++) 144 for (i = 0; i < ITER; i++)
145 {
146 fprintf (stderr, ".");
147 if (GNUNET_SYSERR == GNUNET_CRYPTO_rsa_encrypt (TESTSTRING,
148 strlen (TESTSTRING) + 1,
149 &pkey, &target))
150 {
151 fprintf (stderr, "GNUNET_CRYPTO_rsa_encrypt returned SYSERR\n");
152 ok++;
153 continue;
154 }
155 if (-1 == GNUNET_CRYPTO_rsa_decrypt (hostkey,
156 &target, result,
157 strlen (TESTSTRING) + 1))
145 { 158 {
146 fprintf (stderr, "."); 159 fprintf (stderr, "GNUNET_CRYPTO_rsa_decrypt returned SYSERR\n");
147 if (GNUNET_SYSERR == GNUNET_CRYPTO_rsa_encrypt (TESTSTRING, 160 ok++;
148 strlen (TESTSTRING) + 1, 161 continue;
149 &pkey, &target))
150 {
151 fprintf (stderr, "GNUNET_CRYPTO_rsa_encrypt returned SYSERR\n");
152 ok++;
153 continue;
154 }
155 if (-1 == GNUNET_CRYPTO_rsa_decrypt (hostkey,
156 &target, result,
157 strlen (TESTSTRING) + 1))
158 {
159 fprintf (stderr, "GNUNET_CRYPTO_rsa_decrypt returned SYSERR\n");
160 ok++;
161 continue;
162 }
163 if (strncmp (TESTSTRING, result, strlen (TESTSTRING)) != 0)
164 {
165 printf ("%s != %.*s - testEncryptDecrypt failed!\n",
166 TESTSTRING, MAX_TESTVAL, result);
167 ok++;
168 continue;
169 }
170 } 162 }
163 if (strncmp (TESTSTRING, result, strlen (TESTSTRING)) != 0)
164 {
165 printf ("%s != %.*s - testEncryptDecrypt failed!\n",
166 TESTSTRING, MAX_TESTVAL, result);
167 ok++;
168 continue;
169 }
170 }
171 printf ("%d RSA encrypt/decrypt operations %llums (%d failures)\n", 171 printf ("%d RSA encrypt/decrypt operations %llums (%d failures)\n",
172 ITER, 172 ITER,
173 (unsigned long long) 173 (unsigned long long)
@@ -194,31 +194,31 @@ testSignVerify (struct GNUNET_CRYPTO_RsaPrivateKey *hostkey)
194 purp.size = htonl (sizeof (struct GNUNET_CRYPTO_RsaSignaturePurpose)); 194 purp.size = htonl (sizeof (struct GNUNET_CRYPTO_RsaSignaturePurpose));
195 purp.purpose = htonl (GNUNET_SIGNATURE_PURPOSE_TEST); 195 purp.purpose = htonl (GNUNET_SIGNATURE_PURPOSE_TEST);
196 for (i = 0; i < ITER; i++) 196 for (i = 0; i < ITER; i++)
197 {
198 fprintf (stderr, ".");
199 if (GNUNET_SYSERR == GNUNET_CRYPTO_rsa_sign (hostkey, &purp, &sig))
200 {
201 fprintf (stderr, "GNUNET_CRYPTO_rsa_sign returned SYSERR\n");
202 ok = GNUNET_SYSERR;
203 continue;
204 }
205 if (GNUNET_SYSERR ==
206 GNUNET_CRYPTO_rsa_verify (GNUNET_SIGNATURE_PURPOSE_TEST,
207 &purp, &sig, &pkey))
208 {
209 printf ("GNUNET_CRYPTO_rsa_verify failed!\n");
210 ok = GNUNET_SYSERR;
211 continue;
212 }
213 if (GNUNET_SYSERR !=
214 GNUNET_CRYPTO_rsa_verify
215 (GNUNET_SIGNATURE_PURPOSE_TRANSPORT_PONG_OWN, &purp, &sig, &pkey))
197 { 216 {
198 fprintf (stderr, "."); 217 printf ("GNUNET_CRYPTO_rsa_verify failed to fail!\n");
199 if (GNUNET_SYSERR == GNUNET_CRYPTO_rsa_sign (hostkey, &purp, &sig)) 218 ok = GNUNET_SYSERR;
200 { 219 continue;
201 fprintf (stderr, "GNUNET_CRYPTO_rsa_sign returned SYSERR\n");
202 ok = GNUNET_SYSERR;
203 continue;
204 }
205 if (GNUNET_SYSERR ==
206 GNUNET_CRYPTO_rsa_verify (GNUNET_SIGNATURE_PURPOSE_TEST,
207 &purp, &sig, &pkey))
208 {
209 printf ("GNUNET_CRYPTO_rsa_verify failed!\n");
210 ok = GNUNET_SYSERR;
211 continue;
212 }
213 if (GNUNET_SYSERR !=
214 GNUNET_CRYPTO_rsa_verify
215 (GNUNET_SIGNATURE_PURPOSE_TRANSPORT_PONG_OWN, &purp, &sig, &pkey))
216 {
217 printf ("GNUNET_CRYPTO_rsa_verify failed to fail!\n");
218 ok = GNUNET_SYSERR;
219 continue;
220 }
221 } 220 }
221 }
222 printf ("%d RSA sign/verify operations %llums\n", 222 printf ("%d RSA sign/verify operations %llums\n",
223 ITER, 223 ITER,
224 (unsigned long long) 224 (unsigned long long)
@@ -240,10 +240,10 @@ main (int argc, char *argv[])
240 GNUNET_CRYPTO_hash_create_random (GNUNET_CRYPTO_QUALITY_WEAK, &in); 240 GNUNET_CRYPTO_hash_create_random (GNUNET_CRYPTO_QUALITY_WEAK, &in);
241 hostkey = GNUNET_CRYPTO_rsa_key_create_from_hash (&in); 241 hostkey = GNUNET_CRYPTO_rsa_key_create_from_hash (&in);
242 if (hostkey == NULL) 242 if (hostkey == NULL)
243 { 243 {
244 printf ("\nGNUNET_CRYPTO_rsa_key_create_from_hash failed!\n"); 244 printf ("\nGNUNET_CRYPTO_rsa_key_create_from_hash failed!\n");
245 return 1; 245 return 1;
246 } 246 }
247 if (GNUNET_OK != testMultiKey ("foo")) 247 if (GNUNET_OK != testMultiKey ("foo"))
248 failureCount++; 248 failureCount++;
249 if (GNUNET_OK != testMultiKey ("bar")) 249 if (GNUNET_OK != testMultiKey ("bar"))
@@ -255,9 +255,9 @@ main (int argc, char *argv[])
255 GNUNET_CRYPTO_rsa_key_free (hostkey); 255 GNUNET_CRYPTO_rsa_key_free (hostkey);
256 256
257 if (failureCount != 0) 257 if (failureCount != 0)
258 { 258 {
259 printf ("\n\n%d TESTS FAILED!\n\n", failureCount); 259 printf ("\n\n%d TESTS FAILED!\n\n", failureCount);
260 return -1; 260 return -1;
261 } 261 }
262 return 0; 262 return 0;
263} 263}