test verify_mic is both directions
authorLove Hornquist Astrand <lha@h5l.org>
Sun, 25 Sep 2011 18:38:17 +0000 (20:38 +0200)
committerLove Hornquist Astrand <lha@h5l.org>
Sun, 25 Sep 2011 18:38:17 +0000 (20:38 +0200)
appl/test/gssapi_client.c
appl/test/gssapi_server.c
appl/test/jgssapi_server.java

index ae54b9851b968f36722f5edc7a9fbc012f937467..267bb17705ec180c9ee50c859179a32d37deaa20 100644 (file)
@@ -63,6 +63,24 @@ do_trans (int sock, gss_ctx_id_t context_hdl)
     write_token (sock, input_token);
     write_token (sock, output_token);
 
+    gss_release_buffer(&min_stat, output_token);
+
+    /* verify mic */
+
+    read_token (sock, input_token);
+    read_token (sock, output_token);
+
+    maj_stat = gss_verify_mic(&min_stat,
+                             context_hdl,
+                             input_token,
+                             output_token,
+                             NULL);
+    if (GSS_ERROR(maj_stat))
+       gss_err (1, min_stat, "gss_verify_mic");
+
+    gss_release_buffer (&min_stat, input_token);
+    gss_release_buffer (&min_stat, output_token);
+
     /* wrap */
 
     input_token->length = 7;
index 6b3262ed7e3f2e71a11f416647c7922940fcf28c..0cb0823b13e26b5df4430d522a5d8b769b8b0d55 100644 (file)
@@ -90,6 +90,24 @@ process_it(int sock,
     gss_release_buffer (&min_stat, input_token);
     gss_release_buffer (&min_stat, output_token);
 
+    /* create mic */
+
+    input_token->length = 6;
+    input_token->value  = strdup("hejsan");
+
+    maj_stat = gss_get_mic(&min_stat,
+                          context_hdl,
+                          GSS_C_QOP_DEFAULT,
+                          input_token,
+                          output_token);
+    if (GSS_ERROR(maj_stat))
+       gss_err (1, min_stat, "gss_get_mic");
+
+    write_token (sock, input_token);
+    write_token (sock, output_token);
+
+    gss_release_buffer (&min_stat, output_token);
+
     /* gss_unwrap */
 
     read_token (sock, input_token);
index 6c74d2ad551334cda8655acfe58f1b392893536c..6a9e75e844862086409f10c6105e50a91adbc0b2 100644 (file)
@@ -89,6 +89,7 @@ public class jgssapi_server {
         */
        System.out.println("mic test");
 
+       System.out.println("  verify mic");
 
        byte[] intoken = getMessage(inStream);
        byte[] outtoken = getMessage(inStream);
@@ -97,6 +98,14 @@ public class jgssapi_server {
        context.verifyMIC(outtoken, 0, outtoken.length, 
                          intoken, 0, intoken.length, new MessageProp(0, false));
 
+       System.out.println("  create mic");
+
+       bytes = new byte[] { 0x66, 0x6f, 0x6f };
+
+       outtoken = context.getMIC(bytes, 0, bytes.length, new MessageProp(0, false));
+       putMessage(outStream, bytes);
+       putMessage(outStream, outtoken);
+
        /*
         * wrap int
         */
@@ -131,10 +140,8 @@ public class jgssapi_server {
        putMessage(outStream, outtoken);
        outtoken = getMessage(inStream);
 
-
        context.dispose();
 
-
        System.exit(0);
     }
 }