From 829ee5d2671b3477d4e166f9b924822e7de432ba Mon Sep 17 00:00:00 2001 From: nielsandriesse Date: Fri, 25 Sep 2020 11:06:48 +1000 Subject: [PATCH] Add TODOs --- .../src/Loki/API/Open Groups/PublicChatMessage.swift | 1 + .../Protocol/Shelved/Multi Device/DeviceLinkingUtilities.swift | 2 ++ .../Storage/AxolotlStore/OWSPrimaryStorage+SignedPreKeyStore.m | 1 + 3 files changed, 4 insertions(+) diff --git a/SignalServiceKit/src/Loki/API/Open Groups/PublicChatMessage.swift b/SignalServiceKit/src/Loki/API/Open Groups/PublicChatMessage.swift index 9c15c618f..43c935a4d 100644 --- a/SignalServiceKit/src/Loki/API/Open Groups/PublicChatMessage.swift +++ b/SignalServiceKit/src/Loki/API/Open Groups/PublicChatMessage.swift @@ -113,6 +113,7 @@ public final class PublicChatMessage : NSObject { return nil } let userKeyPair = OWSIdentityManager.shared().identityKeyPair()! + // TODO: Sign using the ED25519 private key here guard let signatureData = try? Ed25519.sign(data, with: userKeyPair) else { print("[Loki] Failed to sign public chat message.") return nil diff --git a/SignalServiceKit/src/Loki/Protocol/Shelved/Multi Device/DeviceLinkingUtilities.swift b/SignalServiceKit/src/Loki/Protocol/Shelved/Multi Device/DeviceLinkingUtilities.swift index 8893a1106..e8b336657 100644 --- a/SignalServiceKit/src/Loki/Protocol/Shelved/Multi Device/DeviceLinkingUtilities.swift +++ b/SignalServiceKit/src/Loki/Protocol/Shelved/Multi Device/DeviceLinkingUtilities.swift @@ -22,6 +22,7 @@ public final class DeviceLinkingUtilities : NSObject { let slavePublicKey = slaveKeyPair.hexEncodedPublicKey var kind = UInt8(LKDeviceLinkMessageKind.request.rawValue) let data = Data(hex: masterPublicKey) + Data(bytes: &kind, count: MemoryLayout.size(ofValue: kind)) + // TODO: Sign using the ED25519 private key here let slaveSignature = try! Ed25519.sign(data, with: slaveKeyPair) let thread = TSContactThread.getOrCreateThread(contactId: masterPublicKey) return DeviceLinkMessage(in: thread, masterPublicKey: masterPublicKey, slavePublicKey: slavePublicKey, masterSignature: nil, slaveSignature: slaveSignature) @@ -33,6 +34,7 @@ public final class DeviceLinkingUtilities : NSObject { let slavePublicKey = deviceLink.slave.publicKey var kind = UInt8(LKDeviceLinkMessageKind.authorization.rawValue) let data = Data(hex: slavePublicKey) + Data(bytes: &kind, count: MemoryLayout.size(ofValue: kind)) + // TODO: Sign using the ED25519 private key here let masterSignature = try! Ed25519.sign(data, with: masterKeyPair) let slaveSignature = deviceLink.slave.signature! let thread = TSContactThread.getOrCreateThread(contactId: slavePublicKey) diff --git a/SignalServiceKit/src/Storage/AxolotlStore/OWSPrimaryStorage+SignedPreKeyStore.m b/SignalServiceKit/src/Storage/AxolotlStore/OWSPrimaryStorage+SignedPreKeyStore.m index 413ddfe67..10a86ab47 100644 --- a/SignalServiceKit/src/Storage/AxolotlStore/OWSPrimaryStorage+SignedPreKeyStore.m +++ b/SignalServiceKit/src/Storage/AxolotlStore/OWSPrimaryStorage+SignedPreKeyStore.m @@ -32,6 +32,7 @@ NSString *const OWSPrimaryStorageKeyPrekeyCurrentSignedPrekeyId = @"currentSigne OWSAssert(identityKeyPair); @try { + // TODO: Sign using the ED25519 private key here NSData *signature = [Ed25519 throws_sign:keyPair.publicKey.prependKeyType withKeyPair:identityKeyPair]; return [[SignedPreKeyRecord alloc] initWithId:preKeyId keyPair:keyPair