Use libsignal for deriving thumbnail transit keys.

This commit is contained in:
Greyson Parrelli
2025-07-14 20:18:20 -04:00
committed by Jeffrey Starke
parent f7d14c77b1
commit e6aed8534a

View File

@@ -6,7 +6,6 @@
package org.whispersystems.signalservice.api.backup package org.whispersystems.signalservice.api.backup
import org.signal.libsignal.protocol.ecc.ECPrivateKey import org.signal.libsignal.protocol.ecc.ECPrivateKey
import org.signal.libsignal.protocol.kdf.HKDF
import org.whispersystems.signalservice.api.push.ServiceId.ACI import org.whispersystems.signalservice.api.push.ServiceId.ACI
import org.signal.libsignal.messagebackup.BackupKey as LibSignalBackupKey import org.signal.libsignal.messagebackup.BackupKey as LibSignalBackupKey
@@ -37,7 +36,7 @@ class MediaRootBackupKey(override val value: ByteArray) : BackupKey {
} }
fun deriveThumbnailTransitKey(thumbnailMediaName: MediaName): ByteArray { fun deriveThumbnailTransitKey(thumbnailMediaName: MediaName): ByteArray {
return HKDF.deriveSecrets(value, deriveMediaId(thumbnailMediaName).value, "20240513_Signal_Backups_EncryptThumbnail".toByteArray(), 64) return LibSignalBackupKey(value).deriveThumbnailTransitEncryptionKey(deriveMediaId(thumbnailMediaName).value)
} }
private fun deriveMediaSecrets(mediaId: MediaId): MediaKeyMaterial { private fun deriveMediaSecrets(mediaId: MediaId): MediaKeyMaterial {