Migrate to new SVR2 enclave.

This commit is contained in:
Greyson Parrelli
2025-07-24 12:11:41 -04:00
parent a19cdc923c
commit a249fbb38f
3 changed files with 17 additions and 7 deletions

View File

@@ -44,6 +44,7 @@ object SvrRepository {
val TAG = Log.tag(SvrRepository::class.java)
private val svr2LegacyLegacy: SecureValueRecovery = AppDependencies.signalServiceAccountManager.getSecureValueRecoveryV2(BuildConfig.SVR2_MRENCLAVE_LEGACY_LEGACY)
private val svr2Legacy: SecureValueRecovery = AppDependencies.signalServiceAccountManager.getSecureValueRecoveryV2(BuildConfig.SVR2_MRENCLAVE_LEGACY)
private val svr2: SecureValueRecovery = AppDependencies.signalServiceAccountManager.getSecureValueRecoveryV2(BuildConfig.SVR2_MRENCLAVE)
private val svr3: SecureValueRecovery = AppDependencies.signalServiceAccountManager.getSecureValueRecoveryV3(AppDependencies.libsignalNetwork)
@@ -52,7 +53,7 @@ object SvrRepository {
private val readImplementations: List<SecureValueRecovery> = if (Svr3Migration.shouldReadFromSvr3) {
listOf(svr3, svr2)
} else {
listOf(svr2, svr2Legacy)
listOf(svr2, svr2Legacy, svr2LegacyLegacy)
}
/** An ordered list of SVR implementations to write to. They should be in priority order, with the most important one listed first. */
@@ -65,6 +66,7 @@ object SvrRepository {
if (Svr3Migration.shouldWriteToSvr2) {
implementations += svr2
implementations += svr2Legacy
implementations += svr2LegacyLegacy
}
return implementations
}
@@ -102,7 +104,8 @@ object SvrRepository {
} else {
listOf(
svr2 to { restoreMasterKeyPreRegistrationFromV2(svr2, credentials.svr2, userPin) },
svr2Legacy to { restoreMasterKeyPreRegistrationFromV2(svr2Legacy, credentials.svr2, userPin) }
svr2Legacy to { restoreMasterKeyPreRegistrationFromV2(svr2Legacy, credentials.svr2, userPin) },
svr2LegacyLegacy to { restoreMasterKeyPreRegistrationFromV2(svr2LegacyLegacy, credentials.svr2, userPin) }
)
}