mirror of
https://github.com/signalapp/Signal-Android.git
synced 2025-12-20 19:18:37 +00:00
Bump libsignal to 0.76.0
This commit is contained in:
committed by
Cody Henthorne
parent
bc10cd0d03
commit
0f16be81b0
@@ -10,10 +10,11 @@ import org.signal.libsignal.metadata.certificate.ServerCertificate
|
||||
import org.signal.libsignal.protocol.SessionBuilder
|
||||
import org.signal.libsignal.protocol.SignalProtocolAddress
|
||||
import org.signal.libsignal.protocol.UsePqRatchet
|
||||
import org.signal.libsignal.protocol.ecc.Curve
|
||||
import org.signal.libsignal.protocol.ecc.ECKeyPair
|
||||
import org.signal.libsignal.protocol.ecc.ECPublicKey
|
||||
import org.signal.libsignal.protocol.groups.GroupSessionBuilder
|
||||
import org.signal.libsignal.protocol.kem.KEMKeyPair
|
||||
import org.signal.libsignal.protocol.kem.KEMKeyType
|
||||
import org.signal.libsignal.protocol.message.SenderKeyDistributionMessage
|
||||
import org.signal.libsignal.protocol.state.PreKeyBundle
|
||||
import org.signal.libsignal.protocol.state.PreKeyRecord
|
||||
@@ -46,7 +47,7 @@ import kotlin.random.Random
|
||||
*/
|
||||
class SignalClient {
|
||||
companion object {
|
||||
private val trustRoot: ECKeyPair = Curve.generateKeyPair()
|
||||
private val trustRoot: ECKeyPair = ECKeyPair.generate()
|
||||
}
|
||||
|
||||
private val lock = TestSessionLock()
|
||||
@@ -167,22 +168,23 @@ class SignalClient {
|
||||
|
||||
private fun createPreKeyBundle(): PreKeyBundle {
|
||||
val prekeyId = prekeyIndex++
|
||||
val preKeyRecord = PreKeyRecord(prekeyId, Curve.generateKeyPair())
|
||||
val signedPreKeyPair = Curve.generateKeyPair()
|
||||
val signedPreKeySignature = Curve.calculateSignature(store.identityKeyPair.privateKey, signedPreKeyPair.publicKey.serialize())
|
||||
val preKeyRecord = PreKeyRecord(prekeyId, ECKeyPair.generate())
|
||||
val signedPreKeyPair = ECKeyPair.generate()
|
||||
val signedPreKeySignature = store.identityKeyPair.privateKey.calculateSignature(signedPreKeyPair.publicKey.serialize())
|
||||
val kyerPair = KEMKeyPair.generate(KEMKeyType.KYBER_1024)
|
||||
|
||||
store.storePreKey(prekeyId, preKeyRecord)
|
||||
store.storeSignedPreKey(prekeyId, SignedPreKeyRecord(prekeyId, System.currentTimeMillis(), signedPreKeyPair, signedPreKeySignature))
|
||||
|
||||
return PreKeyBundle(
|
||||
prekeyId, prekeyId, prekeyId, preKeyRecord.keyPair.publicKey, prekeyId, signedPreKeyPair.publicKey, signedPreKeySignature, store.identityKeyPair.publicKey,
|
||||
PreKeyBundle.NULL_PRE_KEY_ID, null, null
|
||||
PreKeyBundle.NULL_PRE_KEY_ID, kyerPair.publicKey, kyerPair.secretKey.serialize()
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private fun createCertificateFor(trustRoot: ECKeyPair, uuid: UUID, e164: String, deviceId: Int, identityKey: ECPublicKey, expires: Long): SenderCertificate {
|
||||
val serverKey: ECKeyPair = Curve.generateKeyPair()
|
||||
val serverKey: ECKeyPair = ECKeyPair.generate()
|
||||
NativeHandleGuard(serverKey.publicKey).use { serverPublicGuard ->
|
||||
NativeHandleGuard(trustRoot.privateKey).use { trustRootPrivateGuard ->
|
||||
val serverCertificate = ServerCertificate(Native.ServerCertificate_New(1, serverPublicGuard.nativeHandle(), trustRootPrivateGuard.nativeHandle()))
|
||||
|
||||
Reference in New Issue
Block a user