mirror of
https://github.com/AsamK/signal-cli.git
synced 2026-05-30 15:14:14 +00:00
Replace deprecated API
This commit is contained in:
parent
1d06f042e1
commit
9f1ae5f4db
@ -4,6 +4,8 @@ import org.asamk.signal.manager.storage.Database;
|
||||
import org.asamk.signal.manager.storage.Utils;
|
||||
import org.signal.libsignal.protocol.InvalidKeyIdException;
|
||||
import org.signal.libsignal.protocol.InvalidMessageException;
|
||||
import org.signal.libsignal.protocol.ReusedBaseKeyException;
|
||||
import org.signal.libsignal.protocol.ecc.ECPublicKey;
|
||||
import org.signal.libsignal.protocol.state.KyberPreKeyRecord;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@ -132,7 +134,16 @@ public class KyberPreKeyStore implements SignalServiceKyberPreKeyStore {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void markKyberPreKeyUsed(final int keyId) {
|
||||
public void markKyberPreKeyUsed(
|
||||
final int kyberPreKeyId,
|
||||
final int signedPreKeyId,
|
||||
final ECPublicKey baseKey
|
||||
) throws ReusedBaseKeyException {
|
||||
// TODO implement correct handling for last resort keys:
|
||||
// If it's a last-resort pre-key, check whether this specific
|
||||
// (kyberPreKeyId, signedPreKeyId, baseKey) tuple has been seen before, and throw an
|
||||
// exception if so. If not, record it for later. Entries can be removed when either the Kyber key
|
||||
// or the last-resort key is deleted (not just rotated).
|
||||
final var sql = (
|
||||
"""
|
||||
DELETE FROM %s AS p
|
||||
@ -142,7 +153,7 @@ public class KyberPreKeyStore implements SignalServiceKyberPreKeyStore {
|
||||
try (final var connection = database.getConnection()) {
|
||||
try (final var statement = connection.prepareStatement(sql)) {
|
||||
statement.setInt(1, accountIdType);
|
||||
statement.setInt(2, keyId);
|
||||
statement.setInt(2, kyberPreKeyId);
|
||||
statement.executeUpdate();
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
|
||||
@ -4,7 +4,9 @@ import org.signal.libsignal.protocol.IdentityKey;
|
||||
import org.signal.libsignal.protocol.IdentityKeyPair;
|
||||
import org.signal.libsignal.protocol.InvalidKeyIdException;
|
||||
import org.signal.libsignal.protocol.NoSessionException;
|
||||
import org.signal.libsignal.protocol.ReusedBaseKeyException;
|
||||
import org.signal.libsignal.protocol.SignalProtocolAddress;
|
||||
import org.signal.libsignal.protocol.ecc.ECPublicKey;
|
||||
import org.signal.libsignal.protocol.groups.state.SenderKeyRecord;
|
||||
import org.signal.libsignal.protocol.state.IdentityKeyStore;
|
||||
import org.signal.libsignal.protocol.state.KyberPreKeyRecord;
|
||||
@ -228,8 +230,12 @@ public class SignalProtocolStore implements SignalServiceAccountDataStore {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void markKyberPreKeyUsed(final int kyberPreKeyId) {
|
||||
kyberPreKeyStore.markKyberPreKeyUsed(kyberPreKeyId);
|
||||
public void markKyberPreKeyUsed(
|
||||
final int kyberPreKeyId,
|
||||
final int signedPreKeyId,
|
||||
final ECPublicKey baseKey
|
||||
) throws ReusedBaseKeyException {
|
||||
kyberPreKeyStore.markKyberPreKeyUsed(kyberPreKeyId, signedPreKeyId, baseKey);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user