aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/crypto/qolmaccount.cpp19
-rw-r--r--lib/crypto/qolmutility.cpp6
2 files changed, 13 insertions, 12 deletions
diff --git a/lib/crypto/qolmaccount.cpp b/lib/crypto/qolmaccount.cpp
index e27bbee1..0f354d3e 100644
--- a/lib/crypto/qolmaccount.cpp
+++ b/lib/crypto/qolmaccount.cpp
@@ -129,10 +129,19 @@ QByteArray QOlmAccount::sign(const QJsonObject &message) const
QByteArray QOlmAccount::signIdentityKeys() const
{
const auto keys = identityKeys();
- const QJsonObject j{ {Curve25519Key, QString(keys.curve25519)}, {Ed25519Key, QString(keys.ed25519)} };
- QJsonDocument doc;
- doc.setObject(j);
- return sign(doc.toJson());
+ QJsonObject body
+ {
+ {"algorithms", QJsonArray{"m.olm.v1.curve25519-aes-sha2", "m.megolm.v1.aes-sha2"}},
+ {"user_id", m_userId},
+ {"device_id", m_deviceId},
+ {"keys",
+ QJsonObject{
+ {QStringLiteral("curve25519:") + m_deviceId, QString::fromUtf8(keys.curve25519)},
+ {QStringLiteral("ed25519:") + m_deviceId, QString::fromUtf8(keys.ed25519)}
+ }
+ }
+ };
+ return sign(QJsonDocument(body).toJson(QJsonDocument::Compact));
}
@@ -279,7 +288,6 @@ bool Quotient::verifyIdentitySignature(const DeviceKeys &deviceKeys,
const auto signature = deviceKeys.signatures[userId][signKeyId];
if (signature.isEmpty()) {
- qDebug() << "signature empty";
return false;
}
@@ -305,7 +313,6 @@ bool Quotient::ed25519VerifySignature(const QString &signingKey,
auto signatureBuf = signature.toUtf8();
auto result = utility.ed25519Verify(signingKeyBuf, canonicalJson, signatureBuf);
if (std::holds_alternative<QOlmError>(result)) {
- qDebug() << "error:" << std::get<QOlmError>(result);
return false;
}
diff --git a/lib/crypto/qolmutility.cpp b/lib/crypto/qolmutility.cpp
index ad78a226..87615770 100644
--- a/lib/crypto/qolmutility.cpp
+++ b/lib/crypto/qolmutility.cpp
@@ -20,12 +20,10 @@ QOlmUtility::QOlmUtility()
{
auto utility = new uint8_t[olm_utility_size()];
m_utility = olm_utility(utility);
- qDebug() << "created";
}
QOlmUtility::~QOlmUtility()
{
- qDebug() << "deleted";
olm_clear_utility(m_utility);
delete[](reinterpret_cast<uint8_t *>(m_utility));
}
@@ -51,19 +49,15 @@ std::variant<bool, QOlmError> QOlmUtility::ed25519Verify(const QByteArray &key,
QByteArray signatureBuf(signature.length(), '0');
std::copy(signature.begin(), signature.end(), signatureBuf.begin());
- qDebug() << "3" << key << message << signature;
-
const auto ret = olm_ed25519_verify(m_utility, key.data(), key.size(),
message.data(), message.size(), (void *)signatureBuf.data(), signatureBuf.size());
const auto error = ret;
if (error == olm_error()) {
- qDebug() << QString(olm_utility_last_error(m_utility));
return lastError(m_utility);
}
if (ret != 0) {
- qDebug() << "ed25519Verify" << ret;
return false;
}
return true;