Создать объект openssl EC_KEY на основе значения точки EC

Я хочу проверить подпись ECDSA, используя openssl. Значение точки EC, которое я извлекаю из пары ключей ECDSA, сгенерированной мной с использованием PKCS11. Ниже приведен код, который в настоящее время я сделал.

VerifyEccData(int hashAlgo,BYTE *data,int dataLen,BYTE *signature,int
signatureLen,BYTE* curveType,BYTE* ecPoint,int ecPointLen)
{
const unsigned char * a = (unsigned char *)ecPoint + 2
EC_KEY *ec = EC_KEY_new();
int eccGrpSN = OBJ_txt2nid("secp112r1");
EC_GROUP *ecgroup  = EC_GROUP_new_by_curve_name(eccGrpSN);
EC_KEY_set_group(ec,ecgroup );
o2i_ECPublicKey(&ec,  &a, ecPointLen-2);
SHA1(data, dataLen,shaResult);
ECDSA_verify(0,shaResult, sizeof(shaResult), signature,signatureLen, ec);
}

Выше кода возврата

ошибка: 10067066: процедуры эллиптической кривой: ec_GFp_simple_oct2point: неверное кодирование

Я не уверен, в чем смысл этой ошибки. Если кто-то может помочь или указать мне правильное направление, действительно ценю.

я нашел это https://www.mail-archive.com/[email protected]/msg08847.html но когда я пытаюсь это дать другую ошибку.

ошибка: 0D07209B: подпрограммы кодирования asn1: ASN1_get_object: слишком длинный

4

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]