]>
Commit | Line | Data |
---|---|---|
5f4e2851 AM |
1 | --- /dev/null 2018-05-15 12:27:28.000000000 +0200 |
2 | +++ opensc-0.19.0/src/tests/p11test/p11test_common.h 2018-09-25 21:02:30.158771398 +0200 | |
3 | @@ -0,0 +1,89 @@ | |
4 | +/* | |
5 | + * p11test_common.h: Test suite shared declarations for PKCS#11 API | |
6 | + * | |
7 | + * Copyright (C) 2016 Martin Strhársky <strharsky.martin@gmail.com> | |
8 | + * Copyright (C) 2016, 2017 Red Hat, Inc. | |
9 | + * | |
10 | + * Author: Jakub Jelen <jjelen@redhat.com> | |
11 | + * | |
12 | + * This library is free software; you can redistribute it and/or | |
13 | + * modify it under the terms of the GNU Lesser General Public | |
14 | + * License as published by the Free Software Foundation; either | |
15 | + * version 2.1 of the License, or (at your option) any later version. | |
16 | + * | |
17 | + * This library is distributed in the hope that it will be useful, | |
18 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
19 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
20 | + * Lesser General Public License for more details. | |
21 | + * | |
22 | + * You should have received a copy of the GNU General Public License | |
23 | + * along with this program. If not, see <http://www.gnu.org/licenses/>. | |
24 | + */ | |
25 | + | |
26 | +#ifndef P11TEST_COMMON_H | |
27 | +#define P11TEST_COMMON_H | |
28 | +#include "config.h" | |
29 | +#include <stdio.h> | |
30 | +#include <stdlib.h> | |
31 | +#include <string.h> | |
32 | +#include <setjmp.h> | |
33 | +#include <cmocka.h> | |
34 | +#include "pkcs11/pkcs11.h" | |
35 | +#include "libopensc/sc-ossl-compat.h" | |
36 | + | |
37 | +#define MAX_MECHS 200 | |
38 | + | |
39 | +#ifndef NDEBUG | |
40 | + #define debug_print(fmt, ...) \ | |
41 | + { fprintf(stderr, fmt "\n", ##__VA_ARGS__); } while (0) | |
42 | +#else | |
43 | + #define debug_print(fmt, ...) | |
44 | +#endif | |
45 | + | |
46 | +#define FLAGS_SIGN 0x01 | |
47 | +#define FLAGS_SIGN_OPENSSL 0x02 | |
48 | +#define FLAGS_SIGN_ANY ( FLAGS_SIGN | FLAGS_SIGN_OPENSSL ) | |
49 | +#define FLAGS_DECRYPT 0x04 | |
50 | +#define FLAGS_DECRYPT_OPENSSL 0x08 | |
51 | +#define FLAGS_DECRYPT_ANY ( FLAGS_DECRYPT | FLAGS_DECRYPT_OPENSSL ) | |
52 | + | |
53 | +typedef struct { | |
54 | + char *outfile; | |
55 | + FILE *fd; | |
56 | + int in_test; | |
57 | + int first; | |
58 | + int in_data; | |
59 | + int first_data; | |
60 | +} log_context_t; | |
61 | + | |
62 | +typedef struct { | |
63 | + CK_MECHANISM_TYPE mech; | |
64 | + CK_MECHANISM_TYPE hash; | |
65 | + CK_RSA_PKCS_MGF_TYPE mgf; | |
66 | + int salt; | |
67 | + int usage_flags; | |
68 | + int result_flags; | |
69 | +} test_mech_t; | |
70 | + | |
71 | +typedef struct { | |
72 | + CK_FUNCTION_LIST_PTR function_pointer; | |
73 | + CK_SLOT_ID slot_id; | |
74 | + CK_SESSION_HANDLE session_handle; | |
75 | + CK_UTF8CHAR* pin; | |
76 | + size_t pin_length; | |
77 | + char *library_path; | |
78 | + unsigned int interactive; | |
79 | + log_context_t log; | |
80 | + | |
81 | + test_mech_t rsa_mechs[MAX_MECHS]; | |
82 | + size_t num_rsa_mechs; | |
83 | + test_mech_t ec_mechs[MAX_MECHS]; | |
84 | + size_t num_ec_mechs; | |
85 | + test_mech_t keygen_mechs[MAX_MECHS]; | |
86 | + size_t num_keygen_mechs; | |
87 | +} token_info_t; | |
88 | + | |
89 | +token_info_t token; | |
90 | + | |
91 | +#endif /* P11TEST_COMMON_H */ | |
92 | + |