X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/85025d2e25a9993162d5c859858e7ecb6149fea6..caabde4acfc1c6bccec981ff763d6dca6f6ed383:/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..21f6037f 100644 --- a/src/main/java/org/asamk/signal/manager/KeyUtils.java +++ b/src/main/java/org/asamk/signal/manager/KeyUtils.java @@ -1,6 +1,8 @@ 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 { @@ -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) { + static byte[] getSecretBytes(int size) { byte[] secret = new byte[size]; RandomUtils.getSecureRandom().nextBytes(secret); return secret;