|
1 /* |
|
2 * ============================================================================ |
|
3 * Name : ./accesssec/eapol/eapol_framework/wapi_common/include/ec_base_certificate_store.h |
|
4 * Part of : WAPI / WAPI *** Info from the SWAD |
|
5 * Description : WAPI authentication |
|
6 * Version : %version: 18 % << Don't touch! Updated by Synergy at check-out. |
|
7 * |
|
8 * Copyright © 2001-2009 Nokia. All rights reserved. |
|
9 * This material, including documentation and any related computer |
|
10 * programs, is protected by copyright controlled by Nokia. All |
|
11 * rights are reserved. Copying, including reproducing, storing, |
|
12 * adapting or translating, any or all of this material requires the |
|
13 * prior written consent of Nokia. This material also contains |
|
14 * confidential information which may not be disclosed to others |
|
15 * without the prior written consent of Nokia. |
|
16 * ============================================================================ |
|
17 * Template version: 4.2 |
|
18 */ |
|
19 |
|
20 |
|
21 |
|
22 #if !defined(_EC_BASE_CERTIFICATE_STORE_H_) |
|
23 #define _EC_BASE_CERTIFICATE_STORE_H_ |
|
24 |
|
25 #if defined(USE_WAPI_CORE) |
|
26 |
|
27 #include "eap_am_export.h" |
|
28 #include "eap_tools.h" |
|
29 #include "ec_cs_types.h" |
|
30 |
|
31 /** @file */ |
|
32 |
|
33 //---------------------------------------------------------------------------- |
|
34 |
|
35 class abs_eap_am_tools_c; |
|
36 class abs_ec_certificate_store_c; |
|
37 class ec_am_base_certificate_store_c; |
|
38 class eap_am_network_id_c; |
|
39 |
|
40 |
|
41 class EAP_EXPORT ec_base_certificate_store_c |
|
42 { |
|
43 //-------------------------------------------------- |
|
44 public: |
|
45 //-------------------------------------------------- |
|
46 |
|
47 /** |
|
48 * The destructor of the ec_base_certificate_store_c class does nothing. |
|
49 */ |
|
50 EAP_FUNC_IMPORT virtual ~ec_base_certificate_store_c(); |
|
51 |
|
52 /** |
|
53 * Function creates a new object. |
|
54 */ |
|
55 EAP_FUNC_IMPORT static ec_base_certificate_store_c * new_ec_base_certificate_store_c( |
|
56 abs_eap_am_tools_c * const tools, |
|
57 abs_ec_certificate_store_c * const partner, |
|
58 ec_am_base_certificate_store_c * const am_certificate_store, |
|
59 const bool is_client_when_true); |
|
60 |
|
61 /** |
|
62 * Function initializes the certificate store. |
|
63 * This function is completed by complete_initialize_certificate_store() function call. |
|
64 */ |
|
65 virtual eap_status_e initialize_certificate_store() = 0; |
|
66 |
|
67 virtual eap_status_e configure() = 0; |
|
68 |
|
69 virtual eap_status_e shutdown() = 0; |
|
70 |
|
71 virtual bool get_is_valid() const = 0; |
|
72 |
|
73 virtual eap_status_e query_asu_id() = 0; |
|
74 |
|
75 virtual eap_status_e get_own_certificate() = 0; |
|
76 |
|
77 virtual eap_status_e set_ae_certificate( |
|
78 const eap_variable_data_c * const ae_certificate) = 0; |
|
79 |
|
80 virtual eap_status_e select_certificate( |
|
81 const eap_variable_data_c * const issuer_ID) = 0; |
|
82 |
|
83 virtual eap_status_e read_id_of_certificate( |
|
84 const eap_variable_data_c * const certificate) = 0; |
|
85 |
|
86 virtual eap_status_e create_signature_with_private_key( |
|
87 const eap_variable_data_c * const hash_of_message, |
|
88 const eap_variable_data_c * const id_of_certificate) = 0; |
|
89 |
|
90 virtual eap_status_e verify_signature_with_public_key( |
|
91 const eap_variable_data_c * const peer_identity, |
|
92 const eap_variable_data_c * const hash_of_message, |
|
93 const eap_variable_data_c * const signature, |
|
94 const bool allow_use_of_ae_certificate) = 0; |
|
95 |
|
96 virtual eap_status_e create_ecdh_temporary_keys() = 0; |
|
97 |
|
98 virtual eap_status_e create_ecdh( |
|
99 const eap_variable_data_c * const own_private_key_d, |
|
100 const eap_variable_data_c * const peer_public_key_x, |
|
101 const eap_variable_data_c * const peer_public_key_y) = 0; |
|
102 |
|
103 virtual eap_status_e set_receive_network_id(const eap_am_network_id_c * const receive_network_id) = 0; |
|
104 |
|
105 //-------------------------------------------------- |
|
106 }; // ec_base_certificate_store_c |
|
107 |
|
108 //---------------------------------------------------------------------------- |
|
109 |
|
110 #endif //#if defined(USE_WAPI_CORE) |
|
111 |
|
112 #endif //#if !defined(_EC_BASE_CERTIFICATE_STORE_H_) |
|
113 |
|
114 |
|
115 // End. |