下面將對密鑰協商數據ECDH_DATA進行處理的函數簡單解釋一下。
───────────────────────────────────────
static void *ecdh_data_new(void)
功能: 新建ECDH_DATA,並將默認信息填入
輸入: -
輸出: -
返回: 新建的ECDH_DATA
出處: ecdh\ech_lib.c
───────────────────────────────────────
───────────────────────────────────────
ECDH_DATA *ecdh_check(EC_KEY *key)
功能: 將key和ECDH_DATA的method_data設置爲一致
輸入: key
輸出: -
返回: ecdh數據
出處: ecdh\ech_lib.c
備註: 如果key中有method_data信息,則將這些信息賦值給ECDH_DATA;
否則將系統默認的method_data信息寫入key和ECDH_DATA。
───────────────────────────────────────
───────────────────────────────────────
static ECDH_DATA *ECDH_DATA_new_method(ENGINE *engine)
功能: 新建ECDH_DATA,並將默認信息填入
輸入: engine【引擎,可爲空】
輸出: -
返回: 新建的ECDH_DATA
出處: ecdh\ech_lib.c
───────────────────────────────────────
───────────────────────────────────────
const ECDH_METHOD *ECDH_get_default_method(void)
功能: 讀取默認的ECDH_METHOD
輸入: -
輸出: -
返回: 默認的ECDH_METHOD
出處: ecdh\ech_lib.c
───────────────────────────────────────
───────────────────────────────────────
const ECDH_METHOD *ECDH_OpenSSL(void)
功能: 返回默認的ECDH_METHOD
輸入: -
輸出: -
返回: 默認的ECDH_METHOD(即openssl_ecdh_meth)
出處: ecdh\ech_ossl.c
備註: return &openssl_ecdh_meth;
───────────────────────────────────────
openssl_ecdh_meth 在前面§6.3.1結構體ECDH_METHOD中曾經提到,這裏再次給出它的定義:
static ECDH_METHOD openssl_ecdh_meth = {
"OpenSSL ECDH method",
ecdh_compute_key,
0, /* flags */
NULL /* app_data */
};