diff --git a/smack-omemo-signal/build.gradle b/smack-omemo-signal/build.gradle index c55aa3033..f29374f10 100644 --- a/smack-omemo-signal/build.gradle +++ b/smack-omemo-signal/build.gradle @@ -6,7 +6,7 @@ dependencies { api project(":smack-im") api project(":smack-extensions") api project(":smack-omemo") - implementation 'org.whispersystems:signal-protocol-java:2.6.2' + implementation 'org.whispersystems:signal-protocol-java:2.8.1' testFixturesApi(testFixtures(project(":smack-core"))) testImplementation project(path: ":smack-omemo", configuration: "testRuntime") diff --git a/smack-omemo-signal/src/main/java/org/jivesoftware/smackx/omemo/signal/SignalOmemoStoreConnector.java b/smack-omemo-signal/src/main/java/org/jivesoftware/smackx/omemo/signal/SignalOmemoStoreConnector.java index 69b43927c..ccec0ad5e 100644 --- a/smack-omemo-signal/src/main/java/org/jivesoftware/smackx/omemo/signal/SignalOmemoStoreConnector.java +++ b/smack-omemo-signal/src/main/java/org/jivesoftware/smackx/omemo/signal/SignalOmemoStoreConnector.java @@ -122,6 +122,22 @@ public class SignalOmemoStoreConnector return true; } + @Override + public IdentityKey getIdentity(SignalProtocolAddress address) { + OmemoDevice device; + try { + device = asOmemoDevice(address); + } catch (XmppStringprepException e) { + throw new AssertionError(e); + } + + try { + return omemoStore.loadOmemoIdentityKey(getOurDevice(), device); + } catch (IOException | CorruptedOmemoKeyException e) { + throw new IllegalStateException(e); + } + } + @Override public PreKeyRecord loadPreKey(int i) throws InvalidKeyIdException { PreKeyRecord preKey;