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.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());
}
}

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 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<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) {
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...");
});

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 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<MultiPeerCTX>("Bob tx msg", mpctx, ctx -> {
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) {
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
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<Identity> 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);

Loading…
Cancel
Save