Browse Source

Test PEPEncInlineEA Alice/Bob - add possibility for EncFormat.PEP

JNI-96
heck 5 years ago
parent
commit
7463bffb08
  1. 8
      test/java/foundation/pEp/jniadapter/test/templateAliceBob/MultiPeerCTX.java
  2. 25
      test/java/foundation/pEp/jniadapter/test/templateAliceBob/TestAlice.java
  3. 23
      test/java/foundation/pEp/jniadapter/test/templateAliceBob/TestBob.java
  4. 34
      test/java/foundation/pEp/jniadapter/test/templateAliceBob/Utils.java

8
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.nio.file.Paths;
import java.util.Vector; import java.util.Vector;
import static foundation.pEp.pitytest.TestLogger.log;
class MultiPeerCTX extends FsMQManagerTestContext { class MultiPeerCTX extends FsMQManagerTestContext {
// Basic // Basic
@ -88,6 +90,12 @@ class MultiPeerCTX extends FsMQManagerTestContext {
path = Paths.get(filenameAliceSec); path = Paths.get(filenameAliceSec);
keyAliceSec = Files.readAllBytes(path); keyAliceSec = Files.readAllBytes(path);
log("Clearing transport queue...");
qm.clearOwnQueue(); 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());
} }
} }

25
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 foundation.pEp.jniadapter.test.utils.*;
import java.io.*; import java.io.*;
import java.util.ArrayList;
import java.util.List; import java.util.List;
class TestAlice { class TestAlice {
@ -24,13 +25,17 @@ class TestAlice {
ctx.alice = ctx.engine.myself(ctx.alice); ctx.alice = ctx.engine.myself(ctx.alice);
log(AdapterTestUtils.identityToString(ctx.alice, false)); log(AdapterTestUtils.identityToString(ctx.alice, false));
log(AdapterTestUtils.identityToString(ctx.bob, false)); // ctx.engine.importKey(ctx.keyBobPub);
log("update()");
ctx.bob = ctx.engine.updateIdentity(ctx.bob); // log(AdapterTestUtils.identityToString(ctx.bob, false));
log(AdapterTestUtils.identityToString(ctx.bob, false)); // log("update()");
// ctx.bob = ctx.engine.updateIdentity(ctx.bob);
// log(AdapterTestUtils.identityToString(ctx.bob, false));
String payloadPlain = "PING"; String payloadPlain = "PING";
List<TransportMessage> msgTx = Utils.encryptInlineEA(ctx, ctx.alice, ctx.bob, payloadPlain); List<TransportMessage> 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) { for (TransportMessage out : msgTx) {
log("MSG TX: \n" + out.toString()); log("MSG TX: \n" + out.toString());
@ -50,20 +55,22 @@ class TestAlice {
while ((msgRxSerialized = ctx.qm.receiveMessage(6)) != null) { while ((msgRxSerialized = ctx.qm.receiveMessage(6)) != null) {
// log("MSG RX from [" + msgRxSerialized.getFrom().getAddress() + "]: " + msgRxSerialized.getMsg()); // 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)); log("ENCRYPTED IN: \n" + AdapterTestUtils.msgToString(msgRx, false));
Engine.decrypt_message_Return result = ctx.engine.decrypt_message(msgRx, null, 0); Engine.decrypt_message_Return result = ctx.engine.decrypt_message(msgRx, null, 0);
log("DECRYPTED msg: \n" + AdapterTestUtils.msgToString(result.dst, false)); log("DECRYPTED msg: \n" + AdapterTestUtils.msgToString(result.dst, false));
log("DECRYPTED rating:" + result.rating.toString()); log("DECRYPTED rating:" + result.rating.toString());
log("DECRYPTED flags:" + result.flags); 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) { } catch (Exception e) {
assert false : e.toString(); 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..."); log("Stop Receiving, no more messages...");
}); });

23
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 foundation.pEp.jniadapter.test.utils.*;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList;
import java.util.List; import java.util.List;
class TestBob { class TestBob {
@ -24,36 +25,40 @@ class TestBob {
ctx.bob = ctx.engine.myself(ctx.bob); ctx.bob = ctx.engine.myself(ctx.bob);
log(AdapterTestUtils.identityToString(ctx.bob, false)); log(AdapterTestUtils.identityToString(ctx.bob, false));
log(AdapterTestUtils.identityToString(ctx.alice, false)); // log(AdapterTestUtils.identityToString(ctx.alice, false));
log("update()"); // log("update()");
ctx.alice = ctx.engine.updateIdentity(ctx.alice); // ctx.alice = ctx.engine.updateIdentity(ctx.alice);
log(AdapterTestUtils.identityToString(ctx.alice, false)); // log(AdapterTestUtils.identityToString(ctx.alice, false));
try { try {
FsMQMessage msgRxSerialized = null; FsMQMessage msgRxSerialized = null;
while ((msgRxSerialized = ctx.qm.receiveMessage(3)) != null) { while ((msgRxSerialized = ctx.qm.receiveMessage(3)) != null) {
// log("MSG RX from [" + msgRxSerialized.getFrom().getAddress() + "]: " + msgRxSerialized.getMsg()); // 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)); log("ENCRYPTED IN: \n" + AdapterTestUtils.msgToString(msgRx, false));
Engine.decrypt_message_Return result = ctx.engine.decrypt_message(msgRx, null, 0); Engine.decrypt_message_Return result = ctx.engine.decrypt_message(msgRx, null, 0);
log("DECRYPTED msg: \n" + AdapterTestUtils.msgToString(result.dst, false)); log("DECRYPTED msg: \n" + AdapterTestUtils.msgToString(result.dst, false));
log("DECRYPTED rating:" + result.rating.toString()); log("DECRYPTED rating:" + result.rating.toString());
log("DECRYPTED flags:" + result.flags); 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) { } catch (Exception e) {
assert false : e.toString(); 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..."); log("Stop Receiving, no more messages...");
}); });
new TestUnit<MultiPeerCTX>("Bob tx msg", mpctx, ctx -> { new TestUnit<MultiPeerCTX>("Bob tx msg", mpctx, ctx -> {
String payloadPlain = "PONG"; String payloadPlain = "PONG";
List<TransportMessage> msgTx = Utils.encryptInlineEA(ctx, ctx.bob, ctx.alice, payloadPlain); List<TransportMessage> 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) { for (TransportMessage out : msgTx) {
log("MSG TX: \n" + out.toString()); log("MSG TX: \n" + out.toString());

34
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 // 5. send messages for each attachment in .attachments with the crypto text of .value, respectively
for (Blob b : msgTx.getAttachments()) { for (Blob b : msgTx.getAttachments()) {
if(b != null) { if (b != null) {
tmp.setLongMessage(new String(b.data)); tmp.setLongMessage(new String(b.data));
ret.add(new TransportMessage(tmp)); ret.add(new TransportMessage(tmp));
} else { } else {
@ -53,6 +53,31 @@ public class Utils {
return ret; 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) { public static String serializepEpMessage(Message msgTx) {
TransportMessage msgTransport = new TransportMessage(msgTx); TransportMessage msgTransport = new TransportMessage(msgTx);
String msgTxSerialized = null; String msgTxSerialized = null;
@ -64,11 +89,12 @@ public class Utils {
return msgTxSerialized; return msgTxSerialized;
} }
public static Message deserializepEpMessageEA(MultiPeerCTX ctx, FsMQMessage msgRxSerialized) { public static Message deserializepEpMessage(MultiPeerCTX ctx, FsMQMessage msgRxSerialized, Message.EncFormat enc) {
Message ret = null; Message ret = null;
try { try {
TransportMessage msgTransportRx = TransportMessage.deserialize(msgRxSerialized.getMsg()); 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 // From
Identity from = new Identity(); Identity from = new Identity();
from.address = msgTransportRx.getFromAddress(); from.address = msgTransportRx.getFromAddress();
@ -77,7 +103,7 @@ public class Utils {
// To // To
Vector<Identity> toList = new Vector<>(); Vector<Identity> toList = new Vector<>();
for (String addr: msgTransportRx.getToAddresses()) { for (String addr : msgTransportRx.getToAddresses()) {
Identity to = new Identity(); Identity to = new Identity();
to.address = addr; to.address = addr;
to = ctx.engine.myself(to); to = ctx.engine.myself(to);

Loading…
Cancel
Save