* 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
{
/* 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);
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,
/* 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,
/* 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,
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);
}