mv-experiment #1
|
@ -54,7 +54,13 @@ final class ClientMartinOMEMO {
|
|||
String(format: "%02x", byte)
|
||||
}.joined()
|
||||
|
||||
guard !OMEMOIdentity.existsFor(account: credentials.bareJid, name: credentials.bareJid, fingerprint: fingerprint) else {
|
||||
return save(address: address, fingerprint: fingerprint, own: true, data: keyPair.serialized())
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
private func save(address: SignalAddress, fingerprint: String, own: Bool, data: Data) -> Bool {
|
||||
guard !OMEMOIdentity.existsFor(account: credentials.bareJid, name: address.name, fingerprint: fingerprint) else {
|
||||
return false
|
||||
}
|
||||
|
||||
|
@ -65,8 +71,8 @@ final class ClientMartinOMEMO {
|
|||
name: address.name,
|
||||
deviceId: Int(address.deviceId),
|
||||
fingerprint: fingerprint,
|
||||
key: keyPair.serialized(),
|
||||
own: true,
|
||||
key: data,
|
||||
own: own,
|
||||
status: MartinOMEMO.IdentityStatus.trustedActive.rawValue
|
||||
)
|
||||
.insert(db)
|
||||
|
@ -77,8 +83,6 @@ final class ClientMartinOMEMO {
|
|||
return false
|
||||
}
|
||||
}
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - Session
|
||||
|
@ -197,14 +201,26 @@ extension ClientMartinOMEMO: SignalIdentityKeyStoreProtocol {
|
|||
}
|
||||
|
||||
func save(identity: MartinOMEMO.SignalAddress, key: (any MartinOMEMO.SignalIdentityKeyProtocol)?) -> Bool {
|
||||
print(identity, key)
|
||||
guard let key = key as SignalIdentityKeyProtocol?, let publicKey = key.publicKey else {
|
||||
return false
|
||||
}
|
||||
let fingerprint = publicKey.map { byte -> String in
|
||||
String(format: "%02x", byte)
|
||||
}.joined()
|
||||
|
||||
return save(address: identity, fingerprint: fingerprint, own: true, data: key.serialized())
|
||||
}
|
||||
|
||||
func save(identity: MartinOMEMO.SignalAddress, publicKeyData: Data?) -> Bool {
|
||||
print(identity, publicKeyData)
|
||||
guard let publicKeyData = publicKeyData else {
|
||||
return false
|
||||
}
|
||||
let fingerprint = publicKeyData.map { byte -> String in
|
||||
String(format: "%02x", byte)
|
||||
}.joined()
|
||||
|
||||
return save(address: identity, fingerprint: fingerprint, own: false, data: publicKeyData)
|
||||
}
|
||||
|
||||
func isTrusted(identity _: MartinOMEMO.SignalAddress, key _: (any MartinOMEMO.SignalIdentityKeyProtocol)?) -> Bool {
|
||||
true
|
||||
|
|
Loading…
Reference in a new issue