Imported Upstream version 1.15.1
[platform/upstream/krb5.git] / src / plugins / preauth / pkinit / pkinit_kdf_test.c
index 02b2bb9..7acbd0d 100644 (file)
  * document, currently draft-ietf-krb-wg-pkinit-alg-agility-04.txt.
  */
 
-#include <errno.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <dlfcn.h>
-#include <unistd.h>
-#include <dirent.h>
-
 #include "k5-platform.h"
-
-#include "pkinit_crypto_openssl.h"
+#include "pkinit.h"
 
 /**
  * Initialize a krb5_data from @a s, a constant string. Note @a s is evaluated
@@ -83,19 +74,17 @@ main(int argc, char **argv)
 {
     /* arguments for calls to pkinit_alg_agility_kdf() */
     krb5_context context = 0;
-    krb5_octet_data secret;
+    krb5_data secret;
     krb5_algorithm_identifier alg_id;
-    krb5_octet_data as_req;
-    krb5_octet_data pk_as_rep;
+    krb5_data as_req;
+    krb5_data pk_as_rep;
     krb5_keyblock key_block;
 
     /* other local variables */
     int retval = 0;
-    int max_keylen = 2048;
     krb5_enctype enctype = 0;
     krb5_principal u_principal = NULL;
     krb5_principal v_principal = NULL;
-    krb5_keyblock *key_block_ptr = &key_block;
 
     /* initialize variables that get malloc'ed, so cleanup is safe */
     krb5_init_context (&context);
@@ -127,27 +116,18 @@ main(int argc, char **argv)
     memset(twenty_as, 0xaa, sizeof(twenty_as));
     memset(eighteen_bs, 0xbb, sizeof(eighteen_bs));
     as_req.length = sizeof(twenty_as);
-    as_req.data = (unsigned char *)&twenty_as;
+    as_req.data = twenty_as;
 
     pk_as_rep.length = sizeof(eighteen_bs);
-    pk_as_rep.data = (unsigned char *)&eighteen_bs;
+    pk_as_rep.data = eighteen_bs;
 
     /* TEST 1:  SHA-1/AES */
     /* set up algorithm id */
-    alg_id.algorithm.data = (unsigned char *)&krb5_pkinit_sha1_oid;
+    alg_id.algorithm.data = (char *)krb5_pkinit_sha1_oid;
     alg_id.algorithm.length = krb5_pkinit_sha1_oid_len;
 
     enctype = enctype_aes;
 
-    /* set-up the key_block */
-    if (0 != (retval = krb5_init_keyblock(context, enctype, max_keylen,
-                                          &key_block_ptr))) {
-        printf("ERROR in pkinit_kdf_test: can't init keyblock, retval = %d",
-               retval);
-        goto cleanup;
-
-    }
-
     /* call pkinit_alg_agility_kdf() with test vector values*/
     if (0 != (retval = pkinit_alg_agility_kdf(context, &secret,
                                               &alg_id.algorithm,
@@ -175,20 +155,11 @@ main(int argc, char **argv)
 
     /* TEST 2: SHA-256/AES */
     /* set up algorithm id */
-    alg_id.algorithm.data = (unsigned char *)&krb5_pkinit_sha256_oid;
+    alg_id.algorithm.data = (char *)krb5_pkinit_sha256_oid;
     alg_id.algorithm.length = krb5_pkinit_sha256_oid_len;
 
     enctype = enctype_aes;
 
-    /* set-up the key_block */
-    if (0 != (retval = krb5_init_keyblock(context, enctype, max_keylen,
-                                          &key_block_ptr))) {
-        printf("ERROR in pkinit_kdf_test: can't init keyblock, retval = %d",
-               retval);
-        goto cleanup;
-
-    }
-
     /* call pkinit_alg_agility_kdf() with test vector values*/
     if (0 != (retval = pkinit_alg_agility_kdf(context, &secret,
                                               &alg_id.algorithm,
@@ -216,20 +187,11 @@ main(int argc, char **argv)
 
     /* TEST 3: SHA-512/DES3 */
     /* set up algorithm id */
-    alg_id.algorithm.data = (unsigned char *)&krb5_pkinit_sha512_oid;
+    alg_id.algorithm.data = (char *)krb5_pkinit_sha512_oid;
     alg_id.algorithm.length = krb5_pkinit_sha512_oid_len;
 
     enctype = enctype_des3;
 
-    /* set-up the key_block */
-    if (0 != (retval = krb5_init_keyblock(context, enctype, max_keylen,
-                                          &key_block_ptr))) {
-        printf("ERROR in pkinit_kdf_test: can't init keyblock, retval = %d",
-               retval);
-        goto cleanup;
-
-    }
-
     /* call pkinit_alg_agility_kdf() with test vector values*/
     if (0 != (retval = pkinit_alg_agility_kdf(context, &secret,
                                               &alg_id.algorithm,
@@ -256,8 +218,8 @@ main(int argc, char **argv)
 cleanup:
     /* release all allocated resources, whether good or bad return */
     free(secret.data);
-    free(u_principal);
-    free(v_principal);
+    krb5_free_principal(context, u_principal);
+    krb5_free_principal(context, v_principal);
     krb5_free_keyblock_contents(context, &key_block);
     exit(retval);
 }