Fix pairing error handling when the hash doesn't match
We shouldn't proceed to signature verification if we already failed hash verification
This commit is contained in:
@@ -375,14 +375,7 @@ namespace nvhttp {
|
|||||||
auto hash = crypto::hash(data);
|
auto hash = crypto::hash(data);
|
||||||
|
|
||||||
// if hash not correct, probably MITM
|
// if hash not correct, probably MITM
|
||||||
if (std::memcmp(hash.data(), sess.clienthash.data(), hash.size())) {
|
if (!std::memcmp(hash.data(), sess.clienthash.data(), hash.size()) && crypto::verify256(crypto::x509(client.cert), secret, sign)) {
|
||||||
// TODO: log
|
|
||||||
|
|
||||||
map_id_sess.erase(client.uniqueID);
|
|
||||||
tree.put("root.paired", 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (crypto::verify256(crypto::x509(client.cert), secret, sign)) {
|
|
||||||
tree.put("root.paired", 1);
|
tree.put("root.paired", 1);
|
||||||
add_cert->raise(crypto::x509(client.cert));
|
add_cert->raise(crypto::x509(client.cert));
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user