diff --git a/test/java/foundation/pEp/jniadapter/test/templateAliceBob/MultiPeerCTX.java b/test/java/foundation/pEp/jniadapter/test/templateAliceBob/MultiPeerCTX.java index 0be476e..4206abc 100644 --- a/test/java/foundation/pEp/jniadapter/test/templateAliceBob/MultiPeerCTX.java +++ b/test/java/foundation/pEp/jniadapter/test/templateAliceBob/MultiPeerCTX.java @@ -13,6 +13,8 @@ import java.nio.file.Path; import java.nio.file.Paths; import java.util.Vector; +import static foundation.pEp.pitytest.TestLogger.log; + class MultiPeerCTX extends FsMQManagerTestContext { // Basic @@ -88,6 +90,12 @@ class MultiPeerCTX extends FsMQManagerTestContext { path = Paths.get(filenameAliceSec); keyAliceSec = Files.readAllBytes(path); + log("Clearing transport queue..."); qm.clearOwnQueue(); + + log("pEp PER_MACHINE_DIR: " + engine.getMachineDirectory()); + log("pEp PER_USER_DIR : " + engine.getUserDirectory()); + log("pEp ProtocolVersion: " + engine.getProtocolVersion()); + log("pEp Version : " + engine.getVersion()); } } diff --git a/test/java/foundation/pEp/jniadapter/test/templateAliceBob/TestAlice.java b/test/java/foundation/pEp/jniadapter/test/templateAliceBob/TestAlice.java index ac8805f..1cb6358 100644 --- a/test/java/foundation/pEp/jniadapter/test/templateAliceBob/TestAlice.java +++ b/test/java/foundation/pEp/jniadapter/test/templateAliceBob/TestAlice.java @@ -10,6 +10,7 @@ import foundation.pEp.pitytest.utils.TestUtils; import foundation.pEp.jniadapter.test.utils.*; import java.io.*; +import java.util.ArrayList; import java.util.List; class TestAlice { @@ -24,13 +25,17 @@ class TestAlice { ctx.alice = ctx.engine.myself(ctx.alice); log(AdapterTestUtils.identityToString(ctx.alice, false)); - log(AdapterTestUtils.identityToString(ctx.bob, false)); - log("update()"); - ctx.bob = ctx.engine.updateIdentity(ctx.bob); - log(AdapterTestUtils.identityToString(ctx.bob, false)); +// ctx.engine.importKey(ctx.keyBobPub); + +// log(AdapterTestUtils.identityToString(ctx.bob, false)); +// log("update()"); +// ctx.bob = ctx.engine.updateIdentity(ctx.bob); +// log(AdapterTestUtils.identityToString(ctx.bob, false)); String payloadPlain = "PING"; - List msgTx = Utils.encryptInlineEA(ctx, ctx.alice, ctx.bob, payloadPlain); + List msgTx = new ArrayList<>(); +// msgTx.add(Utils.encryptPEP(ctx, ctx.alice, ctx.bob, payloadPlain)); + msgTx = Utils.encryptInlineEA(ctx, ctx.alice, ctx.bob, payloadPlain); for (TransportMessage out : msgTx) { log("MSG TX: \n" + out.toString()); @@ -50,20 +55,22 @@ class TestAlice { while ((msgRxSerialized = ctx.qm.receiveMessage(6)) != null) { // log("MSG RX from [" + msgRxSerialized.getFrom().getAddress() + "]: " + msgRxSerialized.getMsg()); - Message msgRx = Utils.deserializepEpMessageEA(ctx, msgRxSerialized); +// Message msgRx = Utils.deserializepEpMessage(ctx, msgRxSerialized, Message.EncFormat.PEP); + Message msgRx = Utils.deserializepEpMessage(ctx, msgRxSerialized, Message.EncFormat.PEPEncInlineEA); log("ENCRYPTED IN: \n" + AdapterTestUtils.msgToString(msgRx, false)); Engine.decrypt_message_Return result = ctx.engine.decrypt_message(msgRx, null, 0); log("DECRYPTED msg: \n" + AdapterTestUtils.msgToString(result.dst, false)); log("DECRYPTED rating:" + result.rating.toString()); log("DECRYPTED flags:" + result.flags); + + log(AdapterTestUtils.identityToString(ctx.bob, false)); + ctx.bob = ctx.engine.updateIdentity(msgRx.getFrom()); + log(AdapterTestUtils.identityToString(ctx.bob, false)); } } catch (Exception e) { assert false : e.toString(); } - log(AdapterTestUtils.identityToString(ctx.bob, false)); - ctx.bob = ctx.engine.updateIdentity(ctx.bob); - log(AdapterTestUtils.identityToString(ctx.bob, false)); log("Stop Receiving, no more messages..."); }); diff --git a/test/java/foundation/pEp/jniadapter/test/templateAliceBob/TestBob.java b/test/java/foundation/pEp/jniadapter/test/templateAliceBob/TestBob.java index f641399..c8b7afc 100644 --- a/test/java/foundation/pEp/jniadapter/test/templateAliceBob/TestBob.java +++ b/test/java/foundation/pEp/jniadapter/test/templateAliceBob/TestBob.java @@ -10,6 +10,7 @@ import foundation.pEp.pitytest.utils.TestUtils; import foundation.pEp.jniadapter.test.utils.*; import java.io.IOException; +import java.util.ArrayList; import java.util.List; class TestBob { @@ -24,36 +25,40 @@ class TestBob { ctx.bob = ctx.engine.myself(ctx.bob); log(AdapterTestUtils.identityToString(ctx.bob, false)); - log(AdapterTestUtils.identityToString(ctx.alice, false)); - log("update()"); - ctx.alice = ctx.engine.updateIdentity(ctx.alice); - log(AdapterTestUtils.identityToString(ctx.alice, false)); +// log(AdapterTestUtils.identityToString(ctx.alice, false)); +// log("update()"); +// ctx.alice = ctx.engine.updateIdentity(ctx.alice); +// log(AdapterTestUtils.identityToString(ctx.alice, false)); try { FsMQMessage msgRxSerialized = null; while ((msgRxSerialized = ctx.qm.receiveMessage(3)) != null) { // log("MSG RX from [" + msgRxSerialized.getFrom().getAddress() + "]: " + msgRxSerialized.getMsg()); - Message msgRx = Utils.deserializepEpMessageEA(ctx, msgRxSerialized); +// Message msgRx = Utils.deserializepEpMessage(ctx, msgRxSerialized, Message.EncFormat.PEP); + Message msgRx = Utils.deserializepEpMessage(ctx, msgRxSerialized, Message.EncFormat.PEPEncInlineEA); log("ENCRYPTED IN: \n" + AdapterTestUtils.msgToString(msgRx, false)); Engine.decrypt_message_Return result = ctx.engine.decrypt_message(msgRx, null, 0); log("DECRYPTED msg: \n" + AdapterTestUtils.msgToString(result.dst, false)); log("DECRYPTED rating:" + result.rating.toString()); log("DECRYPTED flags:" + result.flags); + + log(AdapterTestUtils.identityToString(ctx.alice, false)); + ctx.alice = ctx.engine.updateIdentity(msgRx.getFrom()); + log(AdapterTestUtils.identityToString(ctx.alice, false)); } } catch (Exception e) { assert false : e.toString(); } - log(AdapterTestUtils.identityToString(ctx.alice, false)); - ctx.alice = ctx.engine.updateIdentity(ctx.alice); - log(AdapterTestUtils.identityToString(ctx.alice, false)); log("Stop Receiving, no more messages..."); }); new TestUnit("Bob tx msg", mpctx, ctx -> { String payloadPlain = "PONG"; - List msgTx = Utils.encryptInlineEA(ctx, ctx.bob, ctx.alice, payloadPlain); + List msgTx = new ArrayList<>(); +// msgTx.add(Utils.encryptPEP(ctx, ctx.bob, ctx.alice, payloadPlain)); + msgTx = Utils.encryptInlineEA(ctx, ctx.bob, ctx.alice, payloadPlain); for (TransportMessage out : msgTx) { log("MSG TX: \n" + out.toString()); diff --git a/test/java/foundation/pEp/jniadapter/test/templateAliceBob/Utils.java b/test/java/foundation/pEp/jniadapter/test/templateAliceBob/Utils.java index 8647934..9aad780 100644 --- a/test/java/foundation/pEp/jniadapter/test/templateAliceBob/Utils.java +++ b/test/java/foundation/pEp/jniadapter/test/templateAliceBob/Utils.java @@ -43,7 +43,7 @@ public class Utils { // 5. send messages for each attachment in .attachments with the crypto text of .value, respectively for (Blob b : msgTx.getAttachments()) { - if(b != null) { + if (b != null) { tmp.setLongMessage(new String(b.data)); ret.add(new TransportMessage(tmp)); } else { @@ -53,6 +53,31 @@ public class Utils { return ret; } + public static TransportMessage encryptPEP(MultiPeerCTX ctx, Identity from, Identity to, String payloadPlain) throws RuntimeException { + TransportMessage ret = null; + + // 1. put payload into .longmsg + Message msgPlain = AdapterTestUtils.makeNewTestMessage(from, to, Message.Direction.Outgoing); + msgPlain.setLongmsg(payloadPlain); + msgPlain.setEncFormat(Message.EncFormat.PEP); + log("MSG PLAIN: " + AdapterTestUtils.msgToString(msgPlain, false)); + + // 2. call encrypt_message() with enc_format = PEP + Message msgEnc = ctx.engine.encrypt_message(msgPlain, null, Message.EncFormat.PEP); + Message msgTx = null; + if (msgEnc == null) { + log("UNENCRYPTED"); + msgTx = msgPlain; + } else { + log("ENCRYPTED"); + msgTx = msgEnc; + } + log("MSG AFTER ENCRYPT: \n" + AdapterTestUtils.msgToString(msgTx, false)); + + ret = new TransportMessage(msgTx); + return ret; + } + public static String serializepEpMessage(Message msgTx) { TransportMessage msgTransport = new TransportMessage(msgTx); String msgTxSerialized = null; @@ -64,11 +89,12 @@ public class Utils { return msgTxSerialized; } - public static Message deserializepEpMessageEA(MultiPeerCTX ctx, FsMQMessage msgRxSerialized) { + public static Message deserializepEpMessage(MultiPeerCTX ctx, FsMQMessage msgRxSerialized, Message.EncFormat enc) { Message ret = null; try { TransportMessage msgTransportRx = TransportMessage.deserialize(msgRxSerialized.getMsg()); - ret = ctx.engine.incomingMessageFromPGPText(msgTransportRx.getLongMessage(), Message.EncFormat.PEPEncInlineEA); + log("DESERIALIZED: \n" + msgTransportRx.toString()); + ret = ctx.engine.incomingMessageFromPGPText(msgTransportRx.getLongMessage(), enc); // From Identity from = new Identity(); from.address = msgTransportRx.getFromAddress(); @@ -77,7 +103,7 @@ public class Utils { // To Vector toList = new Vector<>(); - for (String addr: msgTransportRx.getToAddresses()) { + for (String addr : msgTransportRx.getToAddresses()) { Identity to = new Identity(); to.address = addr; to = ctx.engine.myself(to);