eapol/eapol_framework/wapi_common/include/ec_base_certificate_store.h
changeset 17 8840d3e38314
equal deleted inserted replaced
2:1c7bc153c08e 17:8840d3e38314
       
     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.