import org.asamk.signal.manager.config.ServiceEnvironmentConfig;
import org.signal.libsignal.metadata.certificate.CertificateValidator;
import org.signal.libsignal.zkgroup.profiles.ClientZkProfileOperations;
-import org.whispersystems.signalservice.api.KeyBackupService;
import org.whispersystems.signalservice.api.SignalServiceAccountManager;
import org.whispersystems.signalservice.api.SignalServiceDataStore;
import org.whispersystems.signalservice.api.SignalServiceMessageReceiver;
import org.whispersystems.signalservice.api.websocket.WebSocketFactory;
import org.whispersystems.signalservice.internal.websocket.WebSocketConnection;
-import java.util.Collection;
import java.util.Optional;
import java.util.concurrent.ExecutorService;
import java.util.function.Supplier;
private SignalServiceMessageReceiver messageReceiver;
private SignalServiceMessageSender messageSender;
- private KeyBackupService keyBackupService;
private SecureValueRecoveryV2 secureValueRecoveryV2;
private ProfileService profileService;
private SignalServiceCipher cipher;
ServiceConfig.AUTOMATIC_NETWORK_RETRY));
}
- public KeyBackupService getKeyBackupService() {
- return getOrCreate(() -> keyBackupService,
- () -> keyBackupService = getAccountManager().getKeyBackupService(ServiceConfig.getIasKeyStore(),
- serviceEnvironmentConfig.keyBackupConfig().enclaveName(),
- serviceEnvironmentConfig.keyBackupConfig().serviceId(),
- serviceEnvironmentConfig.keyBackupConfig().mrenclave(),
- 10));
- }
-
public SecureValueRecoveryV2 getSecureValueRecoveryV2() {
return getOrCreate(() -> secureValueRecoveryV2,
() -> secureValueRecoveryV2 = getAccountManager().getSecureValueRecoveryV2(serviceEnvironmentConfig.svr2Mrenclave()));
}
- public Collection<KeyBackupService> getFallbackKeyBackupServices() {
- return serviceEnvironmentConfig.fallbackKeyBackupConfigs()
- .stream()
- .map(config -> getAccountManager().getKeyBackupService(ServiceConfig.getIasKeyStore(),
- config.enclaveName(),
- config.serviceId(),
- config.mrenclave(),
- 10))
- .toList();
- }
-
public ProfileService getProfileService() {
return getOrCreate(() -> profileService,
() -> profileService = new ProfileService(getClientZkProfileOperations(),