From: AsamK Date: Sun, 9 May 2021 17:34:07 +0000 (+0200) Subject: Implement preliminary phone number privacy for sender certificate X-Git-Tag: v0.8.2~9 X-Git-Url: https://git.nmode.ca/signal-cli/commitdiff_plain/3643d57d0eaef73d1aa375ad95e97b4cc2dcc12e?ds=sidebyside Implement preliminary phone number privacy for sender certificate --- diff --git a/lib/src/main/java/org/asamk/signal/manager/Manager.java b/lib/src/main/java/org/asamk/signal/manager/Manager.java index 8632129c..4abe1260 100644 --- a/lib/src/main/java/org/asamk/signal/manager/Manager.java +++ b/lib/src/main/java/org/asamk/signal/manager/Manager.java @@ -1284,11 +1284,13 @@ public class Manager implements Closeable { } private byte[] getSenderCertificate() { - // TODO support UUID capable sender certificates - // byte[] certificate = accountManager.getSenderCertificateForPhoneNumberPrivacy(); byte[] certificate; try { - certificate = accountManager.getSenderCertificate(); + if (account.isPhoneNumberShared()) { + certificate = accountManager.getSenderCertificate(); + } else { + certificate = accountManager.getSenderCertificateForPhoneNumberPrivacy(); + } } catch (IOException e) { logger.warn("Failed to get sender certificate, ignoring: {}", e.getMessage()); return null; diff --git a/lib/src/main/java/org/asamk/signal/manager/storage/SignalAccount.java b/lib/src/main/java/org/asamk/signal/manager/storage/SignalAccount.java index 1620dbf2..475f26e8 100644 --- a/lib/src/main/java/org/asamk/signal/manager/storage/SignalAccount.java +++ b/lib/src/main/java/org/asamk/signal/manager/storage/SignalAccount.java @@ -878,6 +878,11 @@ public class SignalAccount implements Closeable { return true; } + public boolean isPhoneNumberShared() { + // TODO make configurable + return true; + } + public void finishRegistration(final UUID uuid, final MasterKey masterKey, final String pin) { this.pinMasterKey = masterKey; this.encryptedDeviceName = null;