Skip to content

Commit 1db5c66

Browse files
ganfraBillCarsonFr
authored andcommitted
Expose setPrivateKey instead of setRecoveryKey as curveKey shouldn't not be used (let valere continue on the privatekey generation)
1 parent 03272a9 commit 1db5c66

File tree

5 files changed

+14
-8
lines changed

5 files changed

+14
-8
lines changed

matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/keysbackup/KeysBackupTest.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -322,7 +322,9 @@ class KeysBackupTest : InstrumentedTest {
322322
put(cryptoTestData.roomId, roomKeysBackupData)
323323
}
324324
)
325-
algorithm.setRecoveryKey(keyBackupCreationInfo.recoveryKey)
325+
extractCurveKeyFromRecoveryKey(keyBackupCreationInfo.recoveryKey)?.also {
326+
algorithm.setPrivateKey(it)
327+
}
326328
val sessionsData = algorithm.decryptSessions(keysBackupData)
327329
val sessionData = sessionsData.firstOrNull()
328330
assertNotNull(sessionData)

matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/DefaultKeysBackupService.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -632,7 +632,9 @@ internal class DefaultKeysBackupService @Inject constructor(
632632

633633
// Get backed up keys from the homeserver
634634
val data = getKeys(sessionId, roomId, keysVersionResult.version)
635-
algorithm?.setRecoveryKey(recoveryKey)
635+
extractCurveKeyFromRecoveryKey(recoveryKey)?.also { privateKey ->
636+
algorithm?.setPrivateKey(privateKey)
637+
}
636638
val sessionsData = withContext(coroutineDispatchers.computation) {
637639
algorithm?.decryptSessions(data)
638640
}.orEmpty()
@@ -1138,7 +1140,9 @@ internal class DefaultKeysBackupService @Inject constructor(
11381140
// roomId -> sessionId -> MXKeyBackupData
11391141
val keysBackupData = KeysBackupData()
11401142
val recoveryKey = cryptoStore.getKeyBackupRecoveryKeyInfo()?.recoveryKey
1141-
algorithm?.setRecoveryKey(recoveryKey)
1143+
extractCurveKeyFromRecoveryKey(recoveryKey)?.also { privateKey ->
1144+
algorithm?.setPrivateKey(privateKey)
1145+
}
11421146
olmInboundGroupSessionWrappers.forEach { olmInboundGroupSessionWrapper ->
11431147
val roomId = olmInboundGroupSessionWrapper.roomId ?: return@forEach
11441148
val olmInboundGroupSession = olmInboundGroupSessionWrapper.session

matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/algorithm/KeysBackupAes256Algorithm.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ internal class KeysBackupAes256Algorithm(keysVersions: KeysVersionResult) : Keys
4646
aesAuthData = keysVersions.getAuthDataAsMegolmBackupAuthData() as MegolmBackupAes256AuthData
4747
}
4848

49-
override fun setRecoveryKey(recoveryKey: String?) {
50-
privateKey = extractCurveKeyFromRecoveryKey(recoveryKey)
49+
override fun setPrivateKey(privateKey: ByteArray) {
50+
this.privateKey = privateKey
5151
}
5252

5353
override fun encryptSession(sessionData: MegolmSessionData): JsonDict? {

matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/algorithm/KeysBackupAlgorithm.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ internal interface KeysBackupAlgorithm {
2727
val authData: MegolmBackupAuthData
2828
val untrusted: Boolean
2929

30-
fun setRecoveryKey(recoveryKey: String?)
30+
fun setPrivateKey(privateKey: ByteArray)
3131
fun encryptSession(sessionData: MegolmSessionData): JsonDict?
3232
fun decryptSessions(data: KeysBackupData): List<MegolmSessionData>
3333
fun keyMatches(privateKey: ByteArray): Boolean

matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/algorithm/KeysBackupCurve25519Algorithm.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ internal class KeysBackupCurve25519Algorithm(keysVersions: KeysVersionResult) :
5252
}
5353
}
5454

55-
override fun setRecoveryKey(recoveryKey: String?) {
56-
privateKey = extractCurveKeyFromRecoveryKey(recoveryKey)
55+
override fun setPrivateKey(privateKey: ByteArray) {
56+
this.privateKey = privateKey
5757
}
5858

5959
override fun encryptSession(sessionData: MegolmSessionData): JsonDict? {

0 commit comments

Comments
 (0)