When using EVP_PKEY_derive with a KDF set, a negative error from
ECDH_compute_key is silently ignored and the KDF is run on duff data Thanks to github user tomykaira for the suggested fix. Reviewed-by: Dr. Stephen Henson <steve@openssl.org>
This commit is contained in:
parent
31832e8ff1
commit
8d02bebddf
@ -244,8 +244,8 @@ static int pkey_ec_derive(EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen)
|
|||||||
outlen = *keylen;
|
outlen = *keylen;
|
||||||
|
|
||||||
ret = ECDH_compute_key(key, outlen, pubkey, eckey, 0);
|
ret = ECDH_compute_key(key, outlen, pubkey, eckey, 0);
|
||||||
if (ret < 0)
|
if (ret <= 0)
|
||||||
return ret;
|
return 0;
|
||||||
*keylen = ret;
|
*keylen = ret;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user