created calculate_ecdh_secret fn
calculates shared secret (ECDH)
This commit is contained in:
parent
145f8d790f
commit
bf583fd495
@ -97,6 +97,23 @@ char *base64_decode(char *encoded_message, size_t *length)
|
||||
return decoded_message;
|
||||
}
|
||||
|
||||
void calculate_ecdh_secret(EVP_PKEY *pri, EVP_PKEY *pub, char **secret, size_t *len)
|
||||
{
|
||||
EVP_PKEY_CTX *ctx = EVP_PKEY_CTX_new(pri, NULL);
|
||||
EVP_PKEY_derive_init(ctx); //INIT DERIVE CONTEXT
|
||||
|
||||
EVP_PKEY_derive_set_peer(ctx, pub); //CONFIG
|
||||
|
||||
//ALLOCATE
|
||||
EVP_PKEY_derive(ctx, NULL, len); //CALCULATE LENGTH
|
||||
*secret = why2_malloc(*len);
|
||||
|
||||
EVP_PKEY_derive(ctx, (unsigned char*) *secret, len); //GET SHARED SECRET
|
||||
|
||||
//DEALLOCATION
|
||||
EVP_PKEY_CTX_free(ctx);
|
||||
}
|
||||
|
||||
//GLOBAL
|
||||
void why2_chat_init_keys(void)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user