Я успешно создал пары ключей ED25519 с openssl-1.1.1 на нескольких системах (Ubuntu, Android, IOS).
Но только на Raspbian тот же код не работает.
Я использую Raspbian 9.4 с openssl-1.1.1b
Функция EVP_PKEY_CTX_new_id (EVP_PKEY_ED25519, NULL) возвращает NULL.
И ошибка в очереди:
ошибка: 0609D09C: процедуры цифрового конверта: int_ctx_new: неподдерживаемый алгоритм
EVP_PKEY* genKeyPairED25519(void)
{
EVP_PKEY *pkey = NULL;
EVP_PKEY_CTX *pctx = NULL;
if ((pctx = EVP_PKEY_CTX_new_id(EVP_PKEY_ED25519, NULL)) == NULL)
{
//handle error
logErrorQueue();
}
else
{
if (EVP_PKEY_keygen_init(pctx) <= 0)
{
//handle error
logErrorQueue();
}
else
{
if (EVP_PKEY_keygen(pctx, &pkey) <= 0)
{
//handle error
logErrorQueue();
}
else
{
//All fine
}
}
EVP_PKEY_CTX_free(pctx);
pctx = NULL;
}
return pkey;
}
Так почему же алгоритм "EVP_PKEY_ED25519" не поддерживается в Raspbian? Я думал, что поддержка поставляется с библиотекой openssl?!