mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-06-21 21:38:20 +02:00
check more precise result of EVP_DigestVerify
This commit is contained in:
parent
5974d2b5ac
commit
bb2b34ff4f
3 changed files with 6 additions and 8 deletions
|
@ -53,7 +53,7 @@ namespace crypto
|
|||
// verify
|
||||
EVP_MD_CTX * ctx = EVP_MD_CTX_create ();
|
||||
EVP_DigestVerifyInit (ctx, NULL, EVP_sha1(), NULL, m_PublicKey);
|
||||
auto ret = EVP_DigestVerify (ctx, sign, l, buf, len);
|
||||
auto ret = EVP_DigestVerify (ctx, sign, l, buf, len) == 1;
|
||||
EVP_MD_CTX_destroy (ctx);
|
||||
return ret;
|
||||
}
|
||||
|
@ -132,7 +132,7 @@ namespace crypto
|
|||
DSA_SIG * sig = DSA_SIG_new();
|
||||
DSA_SIG_set0 (sig, BN_bin2bn (signature, DSA_SIGNATURE_LENGTH/2, NULL), BN_bin2bn (signature + DSA_SIGNATURE_LENGTH/2, DSA_SIGNATURE_LENGTH/2, NULL));
|
||||
// DSA verification
|
||||
int ret = DSA_do_verify (digest, 20, sig, m_PublicKey);
|
||||
int ret = DSA_do_verify (digest, 20, sig, m_PublicKey) == 1;
|
||||
DSA_SIG_free(sig);
|
||||
return ret;
|
||||
}
|
||||
|
@ -229,7 +229,7 @@ namespace crypto
|
|||
// verify
|
||||
EVP_MD_CTX * ctx = EVP_MD_CTX_create ();
|
||||
EVP_DigestVerifyInit (ctx, NULL, m_Hash, NULL, m_PublicKey);
|
||||
auto ret = EVP_DigestVerify (ctx, sign.data (), l, buf, len);
|
||||
auto ret = EVP_DigestVerify (ctx, sign.data (), l, buf, len) == 1;
|
||||
EVP_MD_CTX_destroy (ctx);
|
||||
return ret;
|
||||
}
|
||||
|
@ -325,7 +325,7 @@ namespace crypto
|
|||
{
|
||||
EVP_MD_CTX * ctx = EVP_MD_CTX_create ();
|
||||
EVP_DigestVerifyInit (ctx, NULL, NULL, NULL, m_Pkey);
|
||||
auto ret = EVP_DigestVerify (ctx, signature, 64, buf, len);
|
||||
auto ret = EVP_DigestVerify (ctx, signature, 64, buf, len) == 1;
|
||||
EVP_MD_CTX_destroy (ctx);
|
||||
return ret;
|
||||
}
|
||||
|
@ -509,7 +509,7 @@ namespace crypto
|
|||
OSSL_PARAM_END
|
||||
};
|
||||
EVP_PKEY_verify_message_init (vctx, sig, params);
|
||||
ret = EVP_PKEY_verify (vctx, signature, GetSignatureLen (), buf, len);
|
||||
ret = EVP_PKEY_verify (vctx, signature, GetSignatureLen (), buf, len) == 1;
|
||||
EVP_SIGNATURE_free (sig);
|
||||
}
|
||||
EVP_PKEY_CTX_free (vctx);
|
||||
|
|
|
@ -263,7 +263,7 @@ namespace crypto
|
|||
auto s = BN_bin2bn (signature + GetSignatureLen ()/2, GetSignatureLen ()/2, NULL);
|
||||
ECDSA_SIG_set0(sig, r, s);
|
||||
// ECDSA verification
|
||||
int ret = ECDSA_do_verify (digest, Hash::hashLen, sig, m_PublicKey);
|
||||
int ret = ECDSA_do_verify (digest, Hash::hashLen, sig, m_PublicKey) == 1;
|
||||
ECDSA_SIG_free(sig);
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -58,9 +58,7 @@ int main ()
|
|||
uint8_t s[64];
|
||||
i2p::crypto::EDDSA25519Signer signer (key);
|
||||
signer.Sign (msg, 1023, s);
|
||||
#if OPENSSL_EDDSA
|
||||
assert(memcmp (s, sig, 64) == 0);
|
||||
#endif
|
||||
|
||||
i2p::crypto::EDDSA25519Verifier verifier;
|
||||
verifier.SetPublicKey (pub);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue