]> nmode's Git Repositories - signal-cli/blobdiff - lib/src/main/java/org/asamk/signal/manager/groups/GroupUtils.java
Refactor manager lib package structure
[signal-cli] / lib / src / main / java / org / asamk / signal / manager / groups / GroupUtils.java
index f56639e319ba28e9f7029fd05aecd9bcb56a8f6a..b73be0ab0ada04eaa3cc5d5a6b398d7cf957e3e6 100644 (file)
@@ -1,12 +1,15 @@
 package org.asamk.signal.manager.groups;
 
+import org.asamk.signal.manager.api.GroupId;
+import org.asamk.signal.manager.api.GroupIdV1;
+import org.asamk.signal.manager.api.GroupIdV2;
 import org.asamk.signal.manager.storage.groups.GroupInfo;
 import org.asamk.signal.manager.storage.groups.GroupInfoV1;
 import org.asamk.signal.manager.storage.groups.GroupInfoV2;
-import org.signal.zkgroup.InvalidInputException;
-import org.signal.zkgroup.groups.GroupMasterKey;
-import org.signal.zkgroup.groups.GroupSecretParams;
-import org.whispersystems.libsignal.kdf.HKDFv3;
+import org.signal.libsignal.protocol.kdf.HKDF;
+import org.signal.libsignal.zkgroup.InvalidInputException;
+import org.signal.libsignal.zkgroup.groups.GroupMasterKey;
+import org.signal.libsignal.zkgroup.groups.GroupSecretParams;
 import org.whispersystems.signalservice.api.messages.SignalServiceDataMessage;
 import org.whispersystems.signalservice.api.messages.SignalServiceGroup;
 import org.whispersystems.signalservice.api.messages.SignalServiceGroupContext;
@@ -18,13 +21,13 @@ public class GroupUtils {
             final SignalServiceDataMessage.Builder messageBuilder, final GroupInfo groupInfo
     ) {
         if (groupInfo instanceof GroupInfoV1) {
-            SignalServiceGroup group = SignalServiceGroup.newBuilder(SignalServiceGroup.Type.DELIVER)
+            var group = SignalServiceGroup.newBuilder(SignalServiceGroup.Type.DELIVER)
                     .withId(groupInfo.getGroupId().serialize())
                     .build();
             messageBuilder.asGroupMessage(group);
         } else {
-            final GroupInfoV2 groupInfoV2 = (GroupInfoV2) groupInfo;
-            SignalServiceGroupV2 group = SignalServiceGroupV2.newBuilder(groupInfoV2.getMasterKey())
+            final var groupInfoV2 = (GroupInfoV2) groupInfo;
+            var group = SignalServiceGroupV2.newBuilder(groupInfoV2.getMasterKey())
                     .withRevision(groupInfoV2.getGroup() == null ? 0 : groupInfoV2.getGroup().getRevision())
                     .build();
             messageBuilder.asGroupMessage(group);
@@ -46,19 +49,18 @@ public class GroupUtils {
     }
 
     public static GroupIdV2 getGroupIdV2(GroupMasterKey groupMasterKey) {
-        final GroupSecretParams groupSecretParams = GroupSecretParams.deriveFromMasterKey(groupMasterKey);
+        final var groupSecretParams = GroupSecretParams.deriveFromMasterKey(groupMasterKey);
         return getGroupIdV2(groupSecretParams);
     }
 
     public static GroupIdV2 getGroupIdV2(GroupIdV1 groupIdV1) {
-        final GroupSecretParams groupSecretParams = GroupSecretParams.deriveFromMasterKey(deriveV2MigrationMasterKey(
-                groupIdV1));
+        final var groupSecretParams = GroupSecretParams.deriveFromMasterKey(deriveV2MigrationMasterKey(groupIdV1));
         return getGroupIdV2(groupSecretParams);
     }
 
     private static GroupMasterKey deriveV2MigrationMasterKey(GroupIdV1 groupIdV1) {
         try {
-            return new GroupMasterKey(new HKDFv3().deriveSecrets(groupIdV1.serialize(),
+            return new GroupMasterKey(HKDF.deriveSecrets(groupIdV1.serialize(),
                     "GV2 Migration".getBytes(),
                     GroupMasterKey.SIZE));
         } catch (InvalidInputException e) {