Add display statements for the encrypted tokens generated by t_encrypt
authorGreg Hudson <ghudson@mit.edu>
Wed, 17 Feb 2010 20:27:22 +0000 (20:27 +0000)
committerGreg Hudson <ghudson@mit.edu>
Wed, 17 Feb 2010 20:27:22 +0000 (20:27 +0000)
so that its output can be compared between different back ends.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@23733 dc483132-0cff-0310-8789-dd5450dbe970

src/lib/crypto/crypto_tests/t_encrypt.c

index 60e86f44b0f6f12f1912313162018f815f27f837..aa6c4af2d49ebb5923422f6219b3f0d3d91914a3 100644 (file)
@@ -75,6 +75,17 @@ static int compare_results(krb5_data *d1, krb5_data *d2)
     return 0;
 }
 
+static void
+display(const char *msg, const krb5_data *d)
+{
+    unsigned int i;
+
+    printf("%s:", msg);
+    for (i = 0; i < d->length; i++)
+        printf(" %02X", (unsigned char) d->data[i]);
+    printf("\n");
+}
+
 int
 main ()
 {
@@ -134,6 +145,7 @@ main ()
         /* Encrypt, decrypt, and see if we got the plaintext back again. */
         test ("Encrypting (c)",
               krb5_c_encrypt (context, keyblock, 7, 0, &in, &enc_out));
+        display ("Enc output", &enc_out.ciphertext);
         test ("Decrypting",
               krb5_c_decrypt (context, keyblock, 7, 0, &enc_out, &check));
         test ("Comparing", compare_results (&in, &check));
@@ -142,6 +154,7 @@ main ()
         memset(out.data, 0, out.length);
         test ("Encrypting (k)",
               krb5_k_encrypt (context, key, 7, 0, &in, &enc_out));
+        display ("Enc output", &enc_out.ciphertext);
         test ("Decrypting",
               krb5_k_decrypt (context, key, 7, 0, &enc_out, &check));
         test ("Comparing", compare_results (&in, &check));
@@ -197,6 +210,10 @@ main ()
             test("iov encrypting (c)",
                  krb5_c_encrypt_iov(context, keyblock, 7, 0, iov, 5));
             assert(iov[1].data.length == in.length);
+            display("Header", &iov[0].data);
+            display("Data", &iov[1].data);
+            display("Padding", &iov[3].data);
+            display("Trailer", &iov[4].data);
             test("iov decrypting",
                  krb5_c_decrypt_iov(context, keyblock, 7, 0, iov, 5));
             test("Comparing results",
@@ -206,6 +223,10 @@ main ()
             test("iov encrypting (k)",
                  krb5_k_encrypt_iov(context, key, 7, 0, iov, 5));
             assert(iov[1].data.length == in.length);
+            display("Header", &iov[0].data);
+            display("Data", &iov[1].data);
+            display("Padding", &iov[3].data);
+            display("Trailer", &iov[4].data);
             test("iov decrypting",
                  krb5_k_decrypt_iov(context, key, 7, 0, iov, 5));
             test("Comparing results",
@@ -219,8 +240,10 @@ main ()
               krb5_c_init_state (context, keyblock, 7, &state));
         test ("Encrypting with state",
               krb5_c_encrypt (context, keyblock, 7, &state, &in, &enc_out));
+        display ("Enc output", &enc_out.ciphertext);
         test ("Encrypting again with state",
               krb5_c_encrypt (context, keyblock, 7, &state, &in2, &enc_out2));
+        display ("Enc output", &enc_out2.ciphertext);
         test ("free_state",
               krb5_c_free_state (context, keyblock, &state));
         test ("init_state",
@@ -251,6 +274,7 @@ main ()
     check.length = 2048;
     test ("Encrypting with RC4 key usage 8",
           krb5_c_encrypt (context, keyblock, 8, 0, &in, &enc_out));
+    display ("Enc output", &enc_out.ciphertext);
     test ("Decrypting with RC4 key usage 9",
           krb5_c_decrypt (context, keyblock, 9, 0, &enc_out, &check));
     test ("Comparing", compare_results (&in, &check));