Update gnulib files.
[shishi.git] / tests / key.c
blobfe710bdbd20bf1d8e06a8fa83bf68ad4337d43ce
1 /* key.c --- Shishi KEY self tests.
2 * Copyright (C) 2002, 2003, 2004, 2006, 2007 Simon Josefsson
4 * This file is part of Shishi.
6 * Shishi is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 3 of the License, or
9 * (at your option) any later version.
11 * Shishi is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with Shishi; if not, see http://www.gnu.org/licenses or write
18 * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
19 * Floor, Boston, MA 02110-1301, USA
23 #include "utils.c"
25 void
26 test (Shishi * handle)
28 Shishi_key *key;
29 char *p;
30 int res;
32 res = shishi_key_from_base64 (handle,
33 SHISHI_AES128_CTS_HMAC_SHA1_96,
34 "Zm5vcmRmbm9yZGZub3JkZg==", &key);
35 if (debug)
36 printf ("shishi_key_from_base64 => `%p'.\n", key);
37 if (res == SHISHI_OK)
38 success ("shishi_key_from_base64 OK\n");
39 else
40 fail ("shishi_key_from_base64 failed\n");
42 p = shishi_key_value (key);
43 if (!p)
44 fail ("shishi_key_value failed\n");
45 else
47 if (memcmp (p, "fnordfnordfnordf", shishi_key_length (key)) == 0)
48 success ("shishi_key_value OK\n");
49 else
50 fail ("shishi_key_value mismatch\n");
53 shishi_key_done (key);