From a425a33209be30679c69cf564d39db58baa6240e Mon Sep 17 00:00:00 2001 From: ameba23 Date: Fri, 27 Aug 2021 09:54:24 +0200 Subject: [PATCH] Add a method to get stream context in handshake mode --- .../briarproject/bramble/transport/KeyManagerImpl.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/bramble-core/src/main/java/org/briarproject/bramble/transport/KeyManagerImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/transport/KeyManagerImpl.java index d240d644f..ff48c3a86 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/transport/KeyManagerImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/transport/KeyManagerImpl.java @@ -128,6 +128,7 @@ class KeyManagerImpl implements KeyManager, Service, EventListener { throws DbException, GeneralSecurityException { SecretKey staticMasterKey = transportCrypto .deriveStaticMasterKey(theirPublicKey, ourKeyPair); + LOG.info("Deriving root handshake key " + c.toString() + " " + ourKeyPair.getPublic().toString() + " them: " + theirPublicKey.toString()); SecretKey rootKey = transportCrypto.deriveHandshakeRootKey(staticMasterKey, false); boolean alice = transportCrypto.isAlice(theirPublicKey, ourKeyPair); @@ -135,6 +136,7 @@ class KeyManagerImpl implements KeyManager, Service, EventListener { for (Entry e : managers.entrySet()) { TransportId t = e.getKey(); TransportKeyManager m = e.getValue(); + LOG.info("Adding handshake keys for transport " + t.getString()); ids.put(t, m.addHandshakeKeys(txn, c, rootKey, alice)); } return ids; @@ -205,6 +207,14 @@ class KeyManagerImpl implements KeyManager, Service, EventListener { m.getStreamContext(txn, tag))); } + @Override + public StreamContext getStreamContextInHandshakeMode(ContactId c, TransportId t) + throws DbException { + return withManager(t, m -> + db.transactionWithNullableResult(false, txn -> + m.getStreamContextInHandshakeMode(txn, c))); + } + @Override public void eventOccurred(Event e) { if (e instanceof ContactRemovedEvent) {