eapol/eapol_framework/wapi_common/include/ec_am_base_algorithms.h
changeset 18 7aac0b9e8906
parent 17 8840d3e38314
child 20 8b3129ac4c0f
equal deleted inserted replaced
17:8840d3e38314 18:7aac0b9e8906
     1 /*
       
     2 * ============================================================================
       
     3 *  Name        : ./accesssec/eapol/eapol_framework/wapi_common/include/ec_base_algorithms.h
       
     4 *  Part of     : WAPI / WAPI       *** Info from the SWAD
       
     5 *  Description : WAPI authentication
       
     6 *  Version     : %version: 8 % << 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_AM_BASE_ALGORITHMS_H_)
       
    23 #define _EC_AM_BASE_ALGORITHMS_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 eap_configuration_field_c;
       
    37 class abs_ec_am_algorithms_c;
       
    38 
       
    39 
       
    40 class EAP_EXPORT ec_am_base_algorithms_c
       
    41 {
       
    42 	//--------------------------------------------------
       
    43 public:
       
    44 	//--------------------------------------------------
       
    45 
       
    46 	/**
       
    47 	 * The destructor of the ec_am_base_algorithms_c class does nothing special.
       
    48 	 */
       
    49 	EAP_FUNC_IMPORT virtual ~ec_am_base_algorithms_c();
       
    50 
       
    51 	/**
       
    52 	 * Function creates a new object.
       
    53 	 */
       
    54 	EAP_FUNC_IMPORT static ec_am_base_algorithms_c * new_ec_base_algorithms_c(
       
    55 		abs_eap_am_tools_c * const tools,
       
    56 		abs_ec_am_algorithms_c * const partner,
       
    57 		const bool is_client_when_true);
       
    58 
       
    59 	virtual eap_status_e configure() = 0;
       
    60 
       
    61 	virtual bool get_is_valid() const = 0;
       
    62 
       
    63 	virtual eap_status_e create_signature_with_private_key(
       
    64 		const eap_variable_data_c * const hash_of_message,
       
    65 		const eap_variable_data_c * const private_key) = 0;
       
    66 
       
    67 	virtual eap_status_e verify_signature_with_public_key(
       
    68 		const eap_variable_data_c * const public_key,
       
    69 		const eap_variable_data_c * const hash_of_message,
       
    70 		const eap_variable_data_c * const signature) = 0;
       
    71 
       
    72 	virtual eap_status_e create_ecdh_temporary_keys() = 0;
       
    73 
       
    74 	virtual eap_status_e create_ecdh(
       
    75 		const eap_variable_data_c * const own_private_key_d,
       
    76 		const eap_variable_data_c * const peer_public_key_x,
       
    77 		const eap_variable_data_c * const peer_public_key_y) = 0;
       
    78 
       
    79 	//--------------------------------------------------
       
    80 }; // ec_am_base_algorithms_c
       
    81 
       
    82 //----------------------------------------------------------------------------
       
    83 
       
    84 #endif //#if defined(USE_WAPI_CORE)
       
    85 
       
    86 #endif //#if !defined(_EC_AM_BASE_ALGORITHMS_H_)
       
    87 
       
    88 
       
    89 // End.