Openssl-1.1.1b EVP_PKEY_CTX завершается неудачно на Raspbian с алгоритмом "ED25519" - PullRequest
0 голосов
/ 02 апреля 2019

Я успешно создал пары ключей 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?!

...