X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/35c72f692f13b12594ecdbe8f59f31d3b396d356..f6061f95dee516bcd9163460e5702bb73a5e763d:/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 225cf682..1f12193c 100644 --- a/src/main/java/org/asamk/signal/manager/KeyUtils.java +++ b/src/main/java/org/asamk/signal/manager/KeyUtils.java @@ -1,9 +1,9 @@ package org.asamk.signal.manager; -import org.whispersystems.signalservice.internal.util.Base64; - -import java.security.NoSuchAlgorithmException; -import java.security.SecureRandom; +import org.asamk.signal.util.RandomUtils; +import org.signal.zkgroup.InvalidInputException; +import org.signal.zkgroup.profiles.ProfileKey; +import org.whispersystems.util.Base64; class KeyUtils { @@ -14,8 +14,12 @@ 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() { @@ -26,6 +30,10 @@ class KeyUtils { return getSecretBytes(16); } + static byte[] createStickerUploadKey() { + return getSecretBytes(32); + } + private static String getSecret(int size) { byte[] secret = getSecretBytes(size); return Base64.encodeBytes(secret); @@ -33,15 +41,7 @@ class KeyUtils { private 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); - } - } }