X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/85025d2e25a9993162d5c859858e7ecb6149fea6..b738f5740c94fe7a5df9e322e1345a99ef0c5ce5:/src/main/java/org/asamk/signal/manager/KeyUtils.java diff --git a/src/main/java/org/asamk/signal/manager/KeyUtils.java b/src/main/java/org/asamk/signal/manager/KeyUtils.java index 6ffc3f36..6ac093db 100644 --- a/src/main/java/org/asamk/signal/manager/KeyUtils.java +++ b/src/main/java/org/asamk/signal/manager/KeyUtils.java @@ -1,9 +1,11 @@ package org.asamk.signal.manager; import org.asamk.signal.util.RandomUtils; +import org.signal.zkgroup.InvalidInputException; +import org.signal.zkgroup.profiles.ProfileKey; import org.whispersystems.util.Base64; -class KeyUtils { +public class KeyUtils { private KeyUtils() { } @@ -12,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) { @@ -29,7 +35,7 @@ class KeyUtils { return Base64.encodeBytes(secret); } - private static byte[] getSecretBytes(int size) { + public static byte[] getSecretBytes(int size) { byte[] secret = new byte[size]; RandomUtils.getSecureRandom().nextBytes(secret); return secret;