diff options
author | Othmar Gsenger <otti@anytun.org> | 2008-05-25 09:50:42 +0000 |
---|---|---|
committer | Othmar Gsenger <otti@anytun.org> | 2008-05-25 09:50:42 +0000 |
commit | 71da41451212389bea25d67bc5da696b6d194bff (patch) | |
tree | a3b20decbd8bc9e47640af5fa4b39f731477955a /keyexchange/isakmpd-20041012/regress/hmac/hmactest.c | |
parent | improved presentation again (diff) |
moved keyexchange to http://anytun.org/svn/keyexchange
Diffstat (limited to 'keyexchange/isakmpd-20041012/regress/hmac/hmactest.c')
-rw-r--r-- | keyexchange/isakmpd-20041012/regress/hmac/hmactest.c | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/keyexchange/isakmpd-20041012/regress/hmac/hmactest.c b/keyexchange/isakmpd-20041012/regress/hmac/hmactest.c deleted file mode 100644 index 3b86f06..0000000 --- a/keyexchange/isakmpd-20041012/regress/hmac/hmactest.c +++ /dev/null @@ -1,93 +0,0 @@ -/* $OpenBSD: hmactest.c,v 1.5 2003/06/04 07:31:17 ho Exp $ */ -/* $EOM: hmactest.c,v 1.3 1998/08/09 19:16:24 niklas Exp $ */ - -/* - * Copyright (c) 1998 Niels Provos. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/* - * This code was written under funding by Ericsson Radio Systems. - */ - -#include <sys/param.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -#include "hash.h" - -int test_hmac(char *, struct hash *, char *, int, char *, int, char *); - -#define nibble2c(x) ((x) >= 10 ? ('a'-10+(x)) : ('0' + (x))) - -int -main (void) -{ - char key[100]; - - memset(key, 11, 20); - test_hmac ("HMAC-MD5 Test Case 1", hash_get (HASH_MD5), - key, 16, "Hi There", 8, "9294727a3638bb1c13f48ef8158bfc9d"); - test_hmac ("HMAC-MD5 Test Case 2", hash_get (HASH_MD5), - "Jefe", 4, - "what do ya want for nothing?", 28, - "750c783e6ab0b503eaa86e310a5db738"); - test_hmac ("HMAC-SHA1 Test Case 1", hash_get (HASH_SHA1), - key, 20, "Hi There", 8, - "b617318655057264e28bc0b6fb378c8ef146be00"); - test_hmac ("HMAC-SHA1 Test Case 2", hash_get (HASH_SHA1), - "Jefe", 4, "what do ya want for nothing?", 28, - "effcdf6ae5eb2fa2d27416d5f184df9c259a7c79"); - - return 1; -} - -int -test_hmac(char *test, struct hash *hash, char *key, int klen, - char *data, int dlen, char *cmp) -{ - char output[2*HASH_MAX+1]; - int i; - - printf("Testing %s: ", test); - - hash->HMACInit(hash, key, klen); - hash->Update(hash->ctx, data, dlen); - hash->HMACFinal(hash->digest, hash); - - for (i=0; i<hash->hashsize; i++) - { - output[2*i] = nibble2c((hash->digest[i] >> 4) & 0xf); - output[2*i+1] = nibble2c(hash->digest[i] & 0xf); - } - output[2*i] = 0; - - if (!strcmp(output, cmp)) - { - printf("OKAY\n"); - return 1; - } - - printf("%s <-> %s\n", output, cmp); - return 0; -} |