Branch data Line data Source code
1 : : /* key.c --- Shishi KEY self tests.
2 : : * Copyright (C) 2002, 2003, 2004, 2006, 2007, 2008 Simon Josefsson
3 : : *
4 : : * This file is part of Shishi.
5 : : *
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.
10 : : *
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.
15 : : *
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
20 : : *
21 : : */
22 : :
23 : : #include "utils.c"
24 : :
25 : : void
26 : 1 : test (Shishi * handle)
27 : : {
28 : : Shishi_key *key;
29 : : const char *p;
30 : : int res;
31 : :
32 : 1 : res = shishi_key_from_base64 (handle,
33 : : SHISHI_AES128_CTS_HMAC_SHA1_96,
34 : : "Zm5vcmRmbm9yZGZub3JkZg==", &key);
35 [ - + ]: 1 : if (debug)
36 : 0 : printf ("shishi_key_from_base64 => `%p'.\n", key);
37 [ + - ]: 1 : if (res == SHISHI_OK)
38 : 1 : success ("shishi_key_from_base64 OK\n");
39 : : else
40 : 0 : fail ("shishi_key_from_base64 failed\n");
41 : :
42 : 1 : p = shishi_key_value (key);
43 [ - + ]: 1 : if (!p)
44 : 0 : fail ("shishi_key_value failed\n");
45 : : else
46 : : {
47 [ + - ]: 1 : if (memcmp (p, "fnordfnordfnordf", shishi_key_length (key)) == 0)
48 : 1 : success ("shishi_key_value OK\n");
49 : : else
50 : 0 : fail ("shishi_key_value mismatch\n");
51 : : }
52 : :
53 : 1 : shishi_key_done (key);
54 : 1 : }
|