Я пытаюсь вычислить общий секрет для ECDH (Elliptic Curve Diffie Hellman) с помощью PHP.
Предположим, у меня есть чей-то открытый ключ. $ clientPublickey = BOLcHOg4ajSHR6BjbSBeX_6aXjMu1V5RrUYXqyV_FqtQSd8RzdU1gkMv1DlRPDIUtFK6Nd16Jql0eSzyZh4V2uc;
Я генерирую свои ключи с помощью OpenSSL.
exec('openssl ecparam -genkey -name prime256v1 -noout -out example-ecc.pem');
$private = openssl_pkey_get_private("file://example-ecc.pem");
Используя следующий код, я получаю false
как значение для $sharedSecret
.
$sharedSecret = openssl_dh_compute_key(base64_decode($clientPublickey), $private);
openssl_error_string()
не возвращает ошибок.
Я скопировал var_dump openssl_pkey_get_details($private)
и убедился, что он был создан правильно.
Как использовать openssl_dh_compute_key()
?