diff options
Diffstat (limited to 'src/util/test_crypto_ksk.c')
-rw-r--r-- | src/util/test_crypto_ksk.c | 194 |
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 @@ | |||
38 | static int | 38 | static int |
39 | testCorrectKey () | 39 | testCorrectKey () |
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 | } |