From 7990693197c961fe0e20802fdfbe2b378f8ae041 Mon Sep 17 00:00:00 2001 From: Nikos Mavrogiannopoulos Date: Sat, 28 Nov 2009 16:01:25 +0200 Subject: Corrected example. --- example2.c | 42 ++++++++++++++++++++++++++++++++++++------ 1 file changed, 36 insertions(+), 6 deletions(-) diff --git a/example2.c b/example2.c index d4c49f0..ddd35b5 100644 --- a/example2.c +++ b/example2.c @@ -38,6 +38,7 @@ test_crypto(int cfd) uint8_t mac[HASH_MAX_LEN]; uint8_t oldmac[HASH_MAX_LEN]; uint8_t def_out[] = "\x75\x0c\x78\x3e\x6a\xb0\xb5\x03\xea\xa8\x6e\x31\x0a\x5d\xb7\x38"; + uint8_t def_out_hash[] = "\x8f\x82\x03\x94\xf9\x53\x35\x18\x20\x45\xda\x24\xf3\x4d\xe5\x2b\xf8\xbc\x34\x32"; int i; memset(&sess, 0, sizeof(sess)); @@ -46,18 +47,47 @@ test_crypto(int cfd) /* Use the garbage that is on the stack :-) */ /* memset(&data, 0, sizeof(data)); */ - /* Get crypto session for AES128 */ + memset(mac, 0, sizeof(mac)); + sess.cipher = 0; - sess.mac = CRYPTO_SHA1_HMAC; - sess.mackeylen = 4; - sess.mackey = (uint8_t*)"Jefe"; + sess.mac = CRYPTO_SHA1; if (ioctl(cfd, CIOCGSESSION, &sess)) { perror("ioctl(CIOCGSESSION)"); return 1; } + cryp.ses = sess.ses; + cryp.len = sizeof("what do ya want for nothing?")-1; + cryp.src = "what do ya want for nothing?"; + cryp.mac = mac; + cryp.op = COP_ENCRYPT; + if (ioctl(cfd, CIOCCRYPT, &cryp)) { + perror("ioctl(CIOCCRYPT)"); + return 1; + } + + if (memcmp(mac, def_out_hash, 20)!=0) { + printf("mac: "); + for (i=0;i