我已经在多个系统(Ubuntu,Android,IOS)上使用openssl-1.1.1成功创建了ED25519密钥对。 但是只有在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;
}
那么为什么Raspbian不支持“ EVP_PKEY_ED25519”算法?我以为openssl库附带了支持?!