From b7d71a21b02f4bbaaceb6f1ac3fd5d11a846ad96 Mon Sep 17 00:00:00 2001 From: ameba23 Date: Tue, 20 Jul 2021 11:40:14 +0200 Subject: [PATCH] When setting remote handshake key, derive tags --- .../briarproject/bramble/contact/ContactManagerImpl.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/bramble-core/src/main/java/org/briarproject/bramble/contact/ContactManagerImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/contact/ContactManagerImpl.java index a95b761b6..0dfc76dfe 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/contact/ContactManagerImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/contact/ContactManagerImpl.java @@ -1,5 +1,7 @@ package org.briarproject.bramble.contact; +import com.sun.tools.javac.jvm.Gen; + import org.briarproject.bramble.api.FormatException; import org.briarproject.bramble.api.Pair; import org.briarproject.bramble.api.contact.Contact; @@ -249,17 +251,19 @@ class ContactManagerImpl implements ContactManager, EventListener { @Override public void setHandshakePublicKey(Transaction txn, ContactId c, - PublicKey handshakePublicKey) throws DbException { + PublicKey handshakePublicKey) throws DbException, GeneralSecurityException { if (handshakePublicKey.getKeyType() != CryptoConstants.KEY_TYPE_AGREEMENT) { throw new IllegalArgumentException(); } db.setHandshakePublicKey(txn, c, handshakePublicKey); + KeyPair ourKeyPair = identityManager.getHandshakeKeys(txn); + keyManager.addContact(txn, c, handshakePublicKey, ourKeyPair); } @Override public void setHandshakePublicKey(ContactId c, PublicKey handshakePublicKey) - throws DbException { + throws DbException, GeneralSecurityException { db.transaction(false, txn -> setHandshakePublicKey(txn, c, handshakePublicKey)); }