]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/manager/KeyUtils.java
Move group classes to separate package
[signal-cli] / src / main / java / org / asamk / signal / manager / KeyUtils.java
index 225cf68206b7a6b313c5ff79e3cfe5c4bf7b5ee8..6ac093db7d65a2dd0bd86cec713f6da4fbf6aec9 100644 (file)
@@ -1,11 +1,11 @@
 package org.asamk.signal.manager;
 
-import org.whispersystems.signalservice.internal.util.Base64;
+import org.asamk.signal.util.RandomUtils;
+import org.signal.zkgroup.InvalidInputException;
+import org.signal.zkgroup.profiles.ProfileKey;
+import org.whispersystems.util.Base64;
 
-import java.security.NoSuchAlgorithmException;
-import java.security.SecureRandom;
-
-class KeyUtils {
+public class KeyUtils {
 
     private KeyUtils() {
     }
@@ -14,16 +14,20 @@ class KeyUtils {
         return getSecret(52);
     }
 
-    static byte[] createProfileKey() {
-        return getSecretBytes(32);
+    static ProfileKey createProfileKey() {
+        try {
+            return new ProfileKey(getSecretBytes(32));
+        } catch (InvalidInputException e) {
+            throw new AssertionError("Profile key is guaranteed to be 32 bytes here");
+        }
     }
 
     static String createPassword() {
         return getSecret(18);
     }
 
-    static byte[] createGroupId() {
-        return getSecretBytes(16);
+    static byte[] createStickerUploadKey() {
+        return getSecretBytes(32);
     }
 
     private static String getSecret(int size) {
@@ -31,17 +35,9 @@ class KeyUtils {
         return Base64.encodeBytes(secret);
     }
 
-    private static byte[] getSecretBytes(int size) {
+    public static byte[] getSecretBytes(int size) {
         byte[] secret = new byte[size];
-        getSecureRandom().nextBytes(secret);
+        RandomUtils.getSecureRandom().nextBytes(secret);
         return secret;
     }
-
-    private static SecureRandom getSecureRandom() {
-        try {
-            return SecureRandom.getInstance("SHA1PRNG");
-        } catch (NoSuchAlgorithmException e) {
-            throw new AssertionError(e);
-        }
-    }
 }