Always use the UD cert with a UUID.
This commit is contained in:
parent
30ac264cd3
commit
b156e4a79a
4 changed files with 6 additions and 22 deletions
|
@ -44,9 +44,7 @@ public class UnidentifiedAccessUtil {
|
|||
try {
|
||||
byte[] theirUnidentifiedAccessKey = getTargetUnidentifiedAccessKey(recipient);
|
||||
byte[] ourUnidentifiedAccessKey = UnidentifiedAccess.deriveAccessKeyFrom(ProfileKeyUtil.getSelfProfileKey());
|
||||
byte[] ourUnidentifiedAccessCertificate = recipient.resolve().isUuidSupported() && Recipient.self().isUuidSupported()
|
||||
? TextSecurePreferences.getUnidentifiedAccessCertificate(context)
|
||||
: TextSecurePreferences.getUnidentifiedAccessCertificateLegacy(context);
|
||||
byte[] ourUnidentifiedAccessCertificate = TextSecurePreferences.getUnidentifiedAccessCertificate(context);
|
||||
|
||||
if (TextSecurePreferences.isUniversalUnidentifiedAccess(context)) {
|
||||
ourUnidentifiedAccessKey = Util.getSecretBytes(16);
|
||||
|
@ -77,8 +75,7 @@ public class UnidentifiedAccessUtil {
|
|||
public static Optional<UnidentifiedAccessPair> getAccessForSync(@NonNull Context context) {
|
||||
try {
|
||||
byte[] ourUnidentifiedAccessKey = UnidentifiedAccess.deriveAccessKeyFrom(ProfileKeyUtil.getSelfProfileKey());
|
||||
byte[] ourUnidentifiedAccessCertificate = Recipient.self().isUuidSupported() ? TextSecurePreferences.getUnidentifiedAccessCertificate(context)
|
||||
: TextSecurePreferences.getUnidentifiedAccessCertificateLegacy(context);
|
||||
byte[] ourUnidentifiedAccessCertificate = TextSecurePreferences.getUnidentifiedAccessCertificate(context);
|
||||
|
||||
if (TextSecurePreferences.isUniversalUnidentifiedAccess(context)) {
|
||||
ourUnidentifiedAccessKey = Util.getSecretBytes(16);
|
||||
|
|
|
@ -57,12 +57,10 @@ public class RotateCertificateJob extends BaseJob {
|
|||
}
|
||||
|
||||
synchronized (RotateCertificateJob.class) {
|
||||
SignalServiceAccountManager accountManager = ApplicationDependencies.getSignalServiceAccountManager();
|
||||
byte[] certificate = accountManager.getSenderCertificate();
|
||||
byte[] legacyCertificate = accountManager.getSenderCertificateLegacy();
|
||||
SignalServiceAccountManager accountManager = ApplicationDependencies.getSignalServiceAccountManager();
|
||||
byte[] certificate = accountManager.getSenderCertificate();
|
||||
|
||||
TextSecurePreferences.setUnidentifiedAccessCertificate(context, certificate);
|
||||
TextSecurePreferences.setUnidentifiedAccessCertificateLegacy(context, legacyCertificate);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -79,12 +79,10 @@ public class UuidMigrationJob extends MigrationJob {
|
|||
}
|
||||
|
||||
private static void rotateSealedSenderCerts(@NonNull Context context) throws IOException {
|
||||
SignalServiceAccountManager accountManager = ApplicationDependencies.getSignalServiceAccountManager();
|
||||
byte[] certificate = accountManager.getSenderCertificate();
|
||||
byte[] legacyCertificate = accountManager.getSenderCertificateLegacy();
|
||||
SignalServiceAccountManager accountManager = ApplicationDependencies.getSignalServiceAccountManager();
|
||||
byte[] certificate = accountManager.getSenderCertificate();
|
||||
|
||||
TextSecurePreferences.setUnidentifiedAccessCertificate(context, certificate);
|
||||
TextSecurePreferences.setUnidentifiedAccessCertificateLegacy(context, legacyCertificate);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -181,7 +181,6 @@ public class TextSecurePreferences {
|
|||
private static final String NEEDS_MESSAGE_PULL = "pref_needs_message_pull";
|
||||
|
||||
private static final String UNIDENTIFIED_ACCESS_CERTIFICATE_ROTATION_TIME_PREF = "pref_unidentified_access_certificate_rotation_time";
|
||||
private static final String UNIDENTIFIED_ACCESS_CERTIFICATE_LEGACY = "pref_unidentified_access_certificate";
|
||||
private static final String UNIDENTIFIED_ACCESS_CERTIFICATE = "pref_unidentified_access_certificate_uuid";
|
||||
public static final String UNIVERSAL_UNIDENTIFIED_ACCESS = "pref_universal_unidentified_access";
|
||||
public static final String SHOW_UNIDENTIFIED_DELIVERY_INDICATORS = "pref_show_unidentifed_delivery_indicators";
|
||||
|
@ -601,14 +600,6 @@ public class TextSecurePreferences {
|
|||
return parseCertificate(getStringPreference(context, UNIDENTIFIED_ACCESS_CERTIFICATE, null));
|
||||
}
|
||||
|
||||
public static void setUnidentifiedAccessCertificateLegacy(Context context, byte[] value) {
|
||||
setStringPreference(context, UNIDENTIFIED_ACCESS_CERTIFICATE_LEGACY, Base64.encodeBytes(value));
|
||||
}
|
||||
|
||||
public static byte[] getUnidentifiedAccessCertificateLegacy(Context context) {
|
||||
return parseCertificate(getStringPreference(context, UNIDENTIFIED_ACCESS_CERTIFICATE_LEGACY, null));
|
||||
}
|
||||
|
||||
private static byte[] parseCertificate(String raw) {
|
||||
try {
|
||||
if (raw != null) {
|
||||
|
|
Loading…
Add table
Reference in a new issue