10#include <immer/array.hpp>
50 std::string starterUserId,
51 std::string starterDeviceId,
52 std::string starterKey,
53 std::string accepterUserId,
54 std::string accepterDeviceId,
55 std::string accepterKey,
67 std::string ourUserId,
68 std::string ourDeviceId,
69 std::string theirUserId,
70 std::string theirDeviceId,
78 std::string ourUserId,
79 std::string ourDeviceId,
80 std::string theirUserId,
81 std::string theirDeviceId,
92 std::set<std::string> keyList,
93 std::string ourUserId,
94 std::string ourDeviceId,
95 std::string theirUserId,
96 std::string theirDeviceId,
102 std::set<std::string> keyList,
103 std::string ourUserId,
104 std::string ourDeviceId,
105 std::string theirUserId,
106 std::string theirDeviceId,
112 std::unique_ptr<Private> m_d;
Definition sas-desc.hpp:16
void emplace(RandomTag, RandomData r)
Replace this with a random SAS description.
Definition sas-desc.cpp:52
std::pair< immer::array< int >, immer::array< int > > getDisplayCodesCurve25519HkdfSha256(std::string starterUserId, std::string starterDeviceId, std::string starterKey, std::string accepterUserId, std::string accepterDeviceId, std::string accepterKey, std::string txnId) const
Definition sas-desc.cpp:77
std::string getKeyMacHkdfHMacSha256V2(std::string key, std::string ourUserId, std::string ourDeviceId, std::string theirUserId, std::string theirDeviceId, std::string txnId, std::string keyId) const
Get the mac for a key using hkdf-hmac-sha256.v2.
Definition sas-desc.cpp:115
bool valid() const
Definition sas-desc.cpp:47
std::string getKeyListMacHkdfHMacSha256V2(std::set< std::string > keyList, std::string ourUserId, std::string ourDeviceId, std::string theirUserId, std::string theirDeviceId, std::string txnId) const
Get the mac for a key list using hkdf-hmac-sha256.v2.
Definition sas-desc.cpp:178
static std::size_t constructRandomSize()
Definition sas-desc.cpp:40
bool verifyKeyMacHkdfHMacSha256V2(std::string mac, std::string key, std::string ourUserId, std::string ourDeviceId, std::string theirUserId, std::string theirDeviceId, std::string txnId, std::string keyId) const
Definition sas-desc.cpp:137
std::string publicKey() const
Definition sas-desc.cpp:57
SasDesc()
Construct an invalid SAS description.
Definition sas-desc.cpp:27
SasDesc & operator=(SasDesc &&that)
bool verifyKeyListMacHkdfHMacSha256V2(std::string mac, std::set< std::string > keyList, std::string ourUserId, std::string ourDeviceId, std::string theirUserId, std::string theirDeviceId, std::string txnId) const
Definition sas-desc.cpp:199
void setTheirKey(std::string theirPublicKey)
Set the key of the other party.
Definition sas-desc.cpp:65
Definition location.hpp:10
std::string RandomData
Definition crypto-util.hpp:35
The tag to indicate that a constructor should use user-provided random data.
Definition crypto-util.hpp:33
Definition sas-desc.cpp:15