103 lines
3.5 KiB
C
103 lines
3.5 KiB
C
/*
|
|
******************************************************************************
|
|
* INTERPEAK API HEADER FILE
|
|
*
|
|
* Document no: @(#) $Name: VXWORKS_ITER40_2019102207 $ $RCSfile: ipssh_keyex_dh.h,v $ $Revision: 1.2.18.2 $
|
|
* $Source: /home/interpeak/CVSRoot/ipssh/src/ipssh_keyex_dh.h,v $
|
|
* $Author: yli10 $ $Date: 2018-06-20 02:32:55 $
|
|
* $State: Exp $ $Locker: $
|
|
*
|
|
* INTERPEAK_COPYRIGHT_STRING
|
|
* Design and implementation by FirstName LastName <email@interpeak.se>
|
|
******************************************************************************
|
|
*/
|
|
#ifndef IPSSH_KEYEX_DH_H
|
|
#define IPSSH_KEYEX_DH_H
|
|
|
|
/*
|
|
****************************************************************************
|
|
* 1 DESCRIPTION
|
|
****************************************************************************
|
|
*/
|
|
|
|
/*
|
|
****************************************************************************
|
|
* 2 CONFIGURATION
|
|
****************************************************************************
|
|
*/
|
|
|
|
#include "ipssh_config.h"
|
|
|
|
|
|
/*
|
|
****************************************************************************
|
|
* 3 INCLUDE FILES
|
|
****************************************************************************
|
|
*/
|
|
|
|
#include <ipcom_type.h>
|
|
#include <ipcom_cstyle.h>
|
|
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/*
|
|
****************************************************************************
|
|
* 4 DEFINES
|
|
****************************************************************************
|
|
*/
|
|
|
|
/*
|
|
****************************************************************************
|
|
* 5 TYPES
|
|
****************************************************************************
|
|
*/
|
|
|
|
/*
|
|
****************************************************************************
|
|
* 6 FUNCTIONS
|
|
****************************************************************************
|
|
*/
|
|
IP_GLOBAL DH* ipssh_create_dh_group(Ip_u8 dh_id);
|
|
IP_GLOBAL Ip_err ipssh_calc_hash(Ipssh_msg_list* msgs,
|
|
const EVP_MD* (*hash_func)(void),
|
|
int hash_comps,
|
|
Ip_u8** hash_value,
|
|
Ip_u32* hash_len);
|
|
IP_GLOBAL Ip_err ipssh_rsa_sign(Ipssh_conn* ssh_conn,
|
|
Ip_u8* data,
|
|
Ip_u32 data_len,
|
|
Ipcom_buffer* buf);
|
|
IP_GLOBAL Ip_err ipssh_dss_sign(Ipssh_conn* ssh_conn,
|
|
Ip_u8* data,
|
|
Ip_u32 data_len,
|
|
Ipcom_buffer* buf);
|
|
|
|
IP_GLOBAL Ip_err ipssh_sign_hash(Ipssh_conn* ssh_conn, Ipcom_buffer* pkt);
|
|
|
|
IP_GLOBAL Ip_err ipssh_verify_signature(EVP_PKEY* srv_key,
|
|
Ip_u8* data,
|
|
Ip_u32 data_len,
|
|
const char* sig_type,
|
|
Ip_u8* signature,
|
|
Ip_u32 sign_len);
|
|
|
|
IP_GLOBAL Ip_err ipssh_do_keyex_dh_clt(Ipssh_conn* ssh_conn);
|
|
IP_GLOBAL Ip_err ipssh_do_keyex_dh_gex_clt(Ipssh_conn* ssh_conn);
|
|
IP_GLOBAL Ip_err ipssh_dh_priv_key_set_length(Ipssh_conn* ssh_conn);
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|
|
|
|
/*
|
|
****************************************************************************
|
|
* END OF FILE
|
|
****************************************************************************
|
|
*/
|