mirror of
https://github.com/ElementsProject/elements.git
synced 2026-08-14 12:43:40 +02:00
Make RPC password resistant to timing attacks
Fixes issue#2838; this is a tweaked version of pull#2845 that should not leak the length of the password and is more generic, in case we run into other situations where we need timing-attack-resistant comparisons.
This commit is contained in:
parent
6cc766fa55
commit
42656ea2e5
3 changed files with 27 additions and 1 deletions
|
|
@ -291,4 +291,15 @@ BOOST_AUTO_TEST_CASE(util_seed_insecure_rand)
|
|||
}
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(util_TimingResistantEqual)
|
||||
{
|
||||
BOOST_CHECK(TimingResistantEqual(std::string(""), std::string("")));
|
||||
BOOST_CHECK(!TimingResistantEqual(std::string("abc"), std::string("")));
|
||||
BOOST_CHECK(!TimingResistantEqual(std::string(""), std::string("abc")));
|
||||
BOOST_CHECK(!TimingResistantEqual(std::string("a"), std::string("aa")));
|
||||
BOOST_CHECK(!TimingResistantEqual(std::string("aa"), std::string("a")));
|
||||
BOOST_CHECK(TimingResistantEqual(std::string("abc"), std::string("abc")));
|
||||
BOOST_CHECK(!TimingResistantEqual(std::string("abc"), std::string("aba")));
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_SUITE_END()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue