mirror of
https://github.com/oxen-io/session-android.git
synced 2025-04-24 15:01:28 +00:00

1) Add plain two-way key exchange support libaxolotl by moving all the KeyExchangeMessage code there. 2) Move the bulk of KeyExchangeProcessor code to libaxolotl for setting up sessions based on retrieved prekeys, received prekeybundles, or exchanged key exchange messages.
37 lines
1.2 KiB
Java
37 lines
1.2 KiB
Java
package org.thoughtcrime.securesms.crypto;
|
|
|
|
import android.content.Context;
|
|
|
|
import org.thoughtcrime.securesms.database.DatabaseFactory;
|
|
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
|
import org.whispersystems.libaxolotl.IdentityKey;
|
|
import org.whispersystems.libaxolotl.IdentityKeyPair;
|
|
import org.whispersystems.libaxolotl.state.IdentityKeyStore;
|
|
import org.whispersystems.textsecure.crypto.MasterSecret;
|
|
|
|
public class TextSecureIdentityKeyStore implements IdentityKeyStore {
|
|
|
|
private final Context context;
|
|
private final MasterSecret masterSecret;
|
|
|
|
public TextSecureIdentityKeyStore(Context context, MasterSecret masterSecret) {
|
|
this.context = context;
|
|
this.masterSecret = masterSecret;
|
|
}
|
|
|
|
@Override
|
|
public IdentityKeyPair getIdentityKeyPair() {
|
|
return IdentityKeyUtil.getIdentityKeyPair(context, masterSecret);
|
|
}
|
|
|
|
@Override
|
|
public int getLocalRegistrationId() {
|
|
return TextSecurePreferences.getLocalRegistrationId(context);
|
|
}
|
|
|
|
@Override
|
|
public void saveIdentity(long recipientId, IdentityKey identityKey) {
|
|
DatabaseFactory.getIdentityDatabase(context).saveIdentity(masterSecret, recipientId, identityKey);
|
|
}
|
|
}
|