diff options
Diffstat (limited to 'src/credential/gnunet-credential.c')
-rw-r--r-- | src/credential/gnunet-credential.c | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/src/credential/gnunet-credential.c b/src/credential/gnunet-credential.c index 41b17ef66..a743458d5 100644 --- a/src/credential/gnunet-credential.c +++ b/src/credential/gnunet-credential.c | |||
@@ -159,6 +159,7 @@ static void | |||
159 | handle_verify_result (void *cls, | 159 | handle_verify_result (void *cls, |
160 | unsigned int d_count, | 160 | unsigned int d_count, |
161 | struct GNUNET_CREDENTIAL_Delegation *dc, | 161 | struct GNUNET_CREDENTIAL_Delegation *dc, |
162 | unsigned int c_count, | ||
162 | struct GNUNET_CREDENTIAL_Credential *cred) | 163 | struct GNUNET_CREDENTIAL_Credential *cred) |
163 | { | 164 | { |
164 | int i; | 165 | int i; |
@@ -170,30 +171,36 @@ handle_verify_result (void *cls, | |||
170 | printf ("Failed.\n"); | 171 | printf ("Failed.\n"); |
171 | else | 172 | else |
172 | { | 173 | { |
173 | iss_key = GNUNET_CRYPTO_ecdsa_public_key_to_string (&cred->issuer_key); | 174 | printf("Delegation Chain:\n"); |
174 | sub_key = GNUNET_CRYPTO_ecdsa_public_key_to_string (&cred->subject_key); | ||
175 | printf ("(0) %s.%s <- %s (Subject)\n", | ||
176 | iss_key, cred->issuer_attribute, | ||
177 | sub_key); | ||
178 | GNUNET_free (iss_key); | ||
179 | GNUNET_free (sub_key); | ||
180 | for (i=0;i<d_count;i++) | 175 | for (i=0;i<d_count;i++) |
181 | { | 176 | { |
182 | iss_key = GNUNET_CRYPTO_ecdsa_public_key_to_string (&dc[i].issuer_key); | 177 | iss_key = GNUNET_CRYPTO_ecdsa_public_key_to_string (&dc[i].issuer_key); |
183 | sub_key = GNUNET_CRYPTO_ecdsa_public_key_to_string (&dc[i].subject_key); | 178 | sub_key = GNUNET_CRYPTO_ecdsa_public_key_to_string (&dc[i].subject_key); |
184 | if (0 != dc[i].subject_attribute_len) | 179 | if (0 != dc[i].subject_attribute_len) |
185 | { | 180 | { |
186 | printf ("(%d) %s.%s <- %s.%s\n", i+1, | 181 | printf ("(%d) %s.%s <- %s.%s\n", i, |
187 | iss_key, dc[i].issuer_attribute, | 182 | iss_key, dc[i].issuer_attribute, |
188 | sub_key, dc[i].subject_attribute); | 183 | sub_key, dc[i].subject_attribute); |
189 | } else { | 184 | } else { |
190 | printf ("(%d) %s.%s <- %s\n", i+1, | 185 | printf ("(%d) %s.%s <- %s\n", i, |
191 | iss_key, dc[i].issuer_attribute, | 186 | iss_key, dc[i].issuer_attribute, |
192 | sub_key); | 187 | sub_key); |
193 | } | 188 | } |
194 | GNUNET_free (iss_key); | 189 | GNUNET_free (iss_key); |
195 | GNUNET_free (sub_key); | 190 | GNUNET_free (sub_key); |
196 | } | 191 | } |
192 | printf("\nCredentials:\n"); | ||
193 | for (i=0;i<c_count;i++) | ||
194 | { | ||
195 | iss_key = GNUNET_CRYPTO_ecdsa_public_key_to_string (&cred[i].issuer_key); | ||
196 | sub_key = GNUNET_CRYPTO_ecdsa_public_key_to_string (&cred[i].subject_key); | ||
197 | printf ("%s.%s <- %s\n", | ||
198 | iss_key, cred[i].issuer_attribute, | ||
199 | sub_key); | ||
200 | GNUNET_free (iss_key); | ||
201 | GNUNET_free (sub_key); | ||
202 | |||
203 | } | ||
197 | printf ("Successful.\n"); | 204 | printf ("Successful.\n"); |
198 | } | 205 | } |
199 | 206 | ||
@@ -347,7 +354,9 @@ run (void *cls, | |||
347 | _("You must provide issuer and subject attributes\n")); | 354 | _("You must provide issuer and subject attributes\n")); |
348 | GNUNET_SCHEDULER_shutdown (); | 355 | GNUNET_SCHEDULER_shutdown (); |
349 | } | 356 | } |
350 | 357 | ||
358 | printf ("Trying to find a chain from a credential under %s of %s to the attribute %s issued by %s\n", | ||
359 | subject_credential, subject_key, issuer_attr, issuer_key); | ||
351 | 360 | ||
352 | verify_request = GNUNET_CREDENTIAL_verify(credential, | 361 | verify_request = GNUNET_CREDENTIAL_verify(credential, |
353 | &issuer_pkey, | 362 | &issuer_pkey, |