aboutsummaryrefslogtreecommitdiff
path: root/src/credential/gnunet-credential.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/credential/gnunet-credential.c')
-rw-r--r--src/credential/gnunet-credential.c29
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
159handle_verify_result (void *cls, 159handle_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,