ECDH_DATA中調用的ECDH_METHOD結構體主要記載了密鑰協商中所使用的方法compute_key。
struct ecdh_method
{
const char *name;
int (*compute_key)(void *key, size_t outlen, const EC_POINT *pub_key,
EC_KEY *ecdh,void *(*KDF)(const void *in, size_t inlen, void *out, size_t *outlen));
int flags;
char *app_data;
};
其中:
- name: 爲某個特定的ECDH_METHOD取的名字。
- compute_key: 密鑰協商具體調用函數。
ech_ossl.c中給出的一個ECDH_METHOD的例子:
static ECDH_METHOD openssl_ecdh_meth = {
"OpenSSL ECDH method",
ecdh_compute_key,
0, /* flags */
NULL /* app_data */
};