]> nmode's Git Repositories - signal-cli/blob - src/main/java/org/asamk/signal/manager/KeyUtils.java
Don't abort on empty recipient unless there was also no group specified. (#176)
[signal-cli] / src / main / java / org / asamk / signal / manager / KeyUtils.java
1 package org.asamk.signal.manager;
2
3 import org.asamk.signal.util.RandomUtils;
4 import org.whispersystems.signalservice.internal.util.Base64;
5
6 class KeyUtils {
7
8 private KeyUtils() {
9 }
10
11 static String createSignalingKey() {
12 return getSecret(52);
13 }
14
15 static byte[] createProfileKey() {
16 return getSecretBytes(32);
17 }
18
19 static String createPassword() {
20 return getSecret(18);
21 }
22
23 static byte[] createGroupId() {
24 return getSecretBytes(16);
25 }
26
27 private static String getSecret(int size) {
28 byte[] secret = getSecretBytes(size);
29 return Base64.encodeBytes(secret);
30 }
31
32 private static byte[] getSecretBytes(int size) {
33 byte[] secret = new byte[size];
34 RandomUtils.getSecureRandom().nextBytes(secret);
35 return secret;
36 }
37 }