mirror of
https://github.com/matrix-construct/construct
synced 2024-12-26 15:33:54 +01:00
ircd::json: Remove redundant.
This commit is contained in:
parent
429095636f
commit
e60370de75
1 changed files with 0 additions and 71 deletions
|
@ -1216,77 +1216,6 @@ const
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class tuple>
|
|
||||||
enable_if_tuple<tuple, ed25519::sig>
|
|
||||||
sign(const tuple &t,
|
|
||||||
const ed25519::sk &sk)
|
|
||||||
{
|
|
||||||
//TODO: XXX
|
|
||||||
const auto preimage
|
|
||||||
{
|
|
||||||
json::strung(t)
|
|
||||||
};
|
|
||||||
|
|
||||||
return ed25519::sig
|
|
||||||
{
|
|
||||||
[&sk, &preimage](auto &buf)
|
|
||||||
{
|
|
||||||
sk.sign(buf, const_buffer{preimage});
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
template<class tuple>
|
|
||||||
enable_if_tuple<tuple, bool>
|
|
||||||
verify(const tuple &t,
|
|
||||||
const ed25519::pk &pk,
|
|
||||||
const ed25519::sig &sig,
|
|
||||||
std::nothrow_t)
|
|
||||||
noexcept try
|
|
||||||
{
|
|
||||||
//TODO: XXX
|
|
||||||
const auto preimage
|
|
||||||
{
|
|
||||||
json::strung(t)
|
|
||||||
};
|
|
||||||
|
|
||||||
return pk.verify(const_buffer{preimage}, sig);
|
|
||||||
}
|
|
||||||
catch(const std::exception &e)
|
|
||||||
{
|
|
||||||
log::error("Verification of json::tuple unexpected failure: %s", e.what());
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
template<class tuple>
|
|
||||||
enable_if_tuple<tuple, void>
|
|
||||||
verify(const tuple &t,
|
|
||||||
const ed25519::pk &pk,
|
|
||||||
const ed25519::sig &sig)
|
|
||||||
{
|
|
||||||
if(!verify(t, pk, sig, std::nothrow))
|
|
||||||
throw ed25519::bad_sig{"Verification failed"};
|
|
||||||
}
|
|
||||||
|
|
||||||
template<class tuple>
|
|
||||||
enable_if_tuple<tuple, void>
|
|
||||||
verify(const tuple &t,
|
|
||||||
const ed25519::pk &pk)
|
|
||||||
{
|
|
||||||
const ed25519::sig sig
|
|
||||||
{
|
|
||||||
[&t](auto &buf)
|
|
||||||
{
|
|
||||||
b64decode(buf, at<"signatures"_>(t));
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
auto copy(t);
|
|
||||||
at<"signatures"_>(copy) = string_view{};
|
|
||||||
if(!verify(copy, pk, sig, std::nothrow))
|
|
||||||
throw ed25519::bad_sig{"Verification failed"};
|
|
||||||
}
|
|
||||||
|
|
||||||
template<class... T>
|
template<class... T>
|
||||||
tuple<T...>::operator
|
tuple<T...>::operator
|
||||||
json::value()
|
json::value()
|
||||||
|
|
Loading…
Reference in a new issue