Я использую виртуальную машину instant-veins-4-7-1-i1
в VirtualBox с Omnet++-5.3
и Sumo-0.32.0
.
Я установил библиотеку openssl
версии 1.1.0.Когда я пытаюсь получить доступ к структуре ECDSA_SIG
, в которой хранится подпись с помощью функции ECDSA_SIG_get0
, симуляция внезапно завершается со следующей ошибкой
Это фрагмент кода, который генерирует ошибку:
ECDSA_SIG * signed_hash;
s->generateSignature(message, messageLength, signed_hash);
const BIGNUM **pr;
const BIGNUM **ps;
ECDSA_SIG_get0(signed_hash, pr, ps);
Функциональный код generateSignature
:
void SignatureOpenSSL::generateSignature(const unsigned char* message, int messageLength, ECDSA_SIG * signed_hash)
{
unsigned char *md;
unsigned char *hash;
hash = SHA256(message, messageLength, md);
// Computes the ECDSA signature of the given message using the supplied private key and returns the created signature
signed_hash = ECDSA_do_sign(hash, 32, eckey);
if (signed_hash == NULL){
std::cout <<" ko signature " << std::endl;
}else{
std::cout <<" ok signature" << std::endl;
}
}
Я обновил библиотеку openssl
до версии 1.1.1, но ошибка продолжает возникать.
Что я делаю не так?
Спасибо