【发布时间】:2019-03-27 21:20:26
【问题描述】:
我在 VirtualBox 上使用虚拟机 instant-veins-4-7-1-i1 和 Omnet++-5.3 和 Sumo-0.32.0。
我已经安装了库openssl 1.1.0 版。当我尝试访问使用函数ECDSA_SIG_get0 存储签名的结构ECDSA_SIG 时,模拟突然终止并出现以下错误
这是产生错误的代码的 sn-p:
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,但错误不断出现。
我做错了什么?
谢谢
【问题讨论】:
标签: c++ openssl omnet++ veins ecdsa