public void testMatchingFingerprints() { ECKeyPair aliceKeyPair = Curve.generateKeyPair(); ECKeyPair bobKeyPair = Curve.generateKeyPair(); IdentityKey aliceIdentityKey = new IdentityKey(aliceKeyPair.getPublicKey()); IdentityKey bobIdentityKey = new IdentityKey(bobKeyPair.getPublicKey()); NumericFingerprintGenerator generator = new NumericFingerprintGenerator(1024); Fingerprint aliceFingerprint = generator.createFor("+14152222222", aliceIdentityKey, "+14153333333", bobIdentityKey); Fingerprint bobFingerprint = generator.createFor("+14153333333", bobIdentityKey, "+14152222222", aliceIdentityKey); Assert.AreEqual <string>(aliceFingerprint.getDisplayableFingerprint().getDisplayText(), bobFingerprint.getDisplayableFingerprint().getDisplayText()); Assert.IsTrue( aliceFingerprint.getScannableFingerprint().compareTo( bobFingerprint.getScannableFingerprint().getSerialized())); Assert.IsTrue( bobFingerprint.getScannableFingerprint().compareTo( aliceFingerprint.getScannableFingerprint().getSerialized())); Assert.AreEqual <int>(aliceFingerprint.getDisplayableFingerprint().getDisplayText().Length, 60); }
public void testMismatchingFingerprints() { ECKeyPair aliceKeyPair = Curve.generateKeyPair(); ECKeyPair bobKeyPair = Curve.generateKeyPair(); ECKeyPair mitmKeyPair = Curve.generateKeyPair(); IdentityKey aliceIdentityKey = new IdentityKey(aliceKeyPair.getPublicKey()); IdentityKey bobIdentityKey = new IdentityKey(bobKeyPair.getPublicKey()); IdentityKey mitmIdentityKey = new IdentityKey(mitmKeyPair.getPublicKey()); NumericFingerprintGenerator generator = new NumericFingerprintGenerator(1024); Fingerprint aliceFingerprint = generator.createFor(VERSION_1, Encoding.UTF8.GetBytes("+14152222222"), aliceIdentityKey, Encoding.UTF8.GetBytes("+14153333333"), mitmIdentityKey); Fingerprint bobFingerprint = generator.createFor(VERSION_1, Encoding.UTF8.GetBytes("+14153333333"), bobIdentityKey, Encoding.UTF8.GetBytes("+14152222222"), aliceIdentityKey); Assert.AreNotEqual(aliceFingerprint.getDisplayableFingerprint().getDisplayText(), bobFingerprint.getDisplayableFingerprint().getDisplayText()); Assert.IsFalse(aliceFingerprint.getScannableFingerprint().compareTo(bobFingerprint.getScannableFingerprint().getSerialized())); Assert.IsFalse(bobFingerprint.getScannableFingerprint().compareTo(aliceFingerprint.getScannableFingerprint().getSerialized())); }
public void TestMismatchingIdentifiers() { EcKeyPair aliceKeyPair = Curve.GenerateKeyPair(); EcKeyPair bobKeyPair = Curve.GenerateKeyPair(); IdentityKey aliceIdentityKey = new IdentityKey(aliceKeyPair.GetPublicKey()); IdentityKey bobIdentityKey = new IdentityKey(bobKeyPair.GetPublicKey()); NumericFingerprintGenerator generator = new NumericFingerprintGenerator(1024); Fingerprint aliceFingerprint = generator.CreateFor("+141512222222", aliceIdentityKey, "+14153333333", bobIdentityKey); Fingerprint bobFingerprint = generator.CreateFor("+14153333333", bobIdentityKey, "+14152222222", aliceIdentityKey); Assert.AreNotEqual <string>(aliceFingerprint.GetDisplayableFingerprint().GetDisplayText(), bobFingerprint.GetDisplayableFingerprint().GetDisplayText()); Assert.IsFalse(aliceFingerprint.GetScannableFingerprint().CompareTo(bobFingerprint.GetScannableFingerprint().GetSerialized())); Assert.IsFalse(bobFingerprint.GetScannableFingerprint().CompareTo(aliceFingerprint.GetScannableFingerprint().GetSerialized())); }
public void testVectors() { return; //disable for now IdentityKey aliceIdentityKey = new IdentityKey(ALICE_IDENTITY, 0); IdentityKey bobIdentityKey = new IdentityKey(BOB_IDENTITY, 0); NumericFingerprintGenerator generator = new NumericFingerprintGenerator(5200); Fingerprint aliceFingerprint = generator.createFor( "+14152222222", aliceIdentityKey, "+14153333333", bobIdentityKey); Fingerprint bobFingerprint = generator.createFor( "+14153333333", bobIdentityKey, "+14152222222", aliceIdentityKey); Assert.AreEqual(aliceFingerprint.getDisplayableFingerprint().getDisplayText(), DISPLAYABLE_FINGERPRINT); Assert.AreEqual(bobFingerprint.getDisplayableFingerprint().getDisplayText(), DISPLAYABLE_FINGERPRINT); CollectionAssert.AreEqual(aliceFingerprint.getScannableFingerprint().getSerialized(), ALICE_SCANNABLE_FINGERPRINT); CollectionAssert.AreEqual(bobFingerprint.getScannableFingerprint().getSerialized(), BOB_SCANNABLE_FINGERPRINT); }
public void testMismatchingIdentifiers() { ECKeyPair aliceKeyPair = Curve.generateKeyPair(); ECKeyPair bobKeyPair = Curve.generateKeyPair(); IdentityKey aliceIdentityKey = new IdentityKey(aliceKeyPair.getPublicKey()); IdentityKey bobIdentityKey = new IdentityKey(bobKeyPair.getPublicKey()); NumericFingerprintGenerator generator = new NumericFingerprintGenerator(1024); Fingerprint aliceFingerprint = generator.createFor("+141512222222", aliceIdentityKey, "+14153333333", bobIdentityKey); Fingerprint bobFingerprint = generator.createFor("+14153333333", bobIdentityKey, "+14152222222", aliceIdentityKey); Assert.AreNotEqual <string>(aliceFingerprint.getDisplayableFingerprint().getDisplayText(), bobFingerprint.getDisplayableFingerprint().getDisplayText()); try { ; aliceFingerprint.getScannableFingerprint().compareTo(bobFingerprint.getScannableFingerprint().getSerialized()); throw new Exception("Should mismatch!"); } catch (FingerprintIdentifierMismatchException) { // good } try { bobFingerprint.getScannableFingerprint().compareTo(aliceFingerprint.getScannableFingerprint().getSerialized()); throw new Exception("Should mismatch!"); } catch (FingerprintIdentifierMismatchException) { // good } }
public void TestVectors() { return; //disable for now IdentityKey aliceIdentityKey = new IdentityKey(AliceIdentity, 0); IdentityKey bobIdentityKey = new IdentityKey(BobIdentity, 0); NumericFingerprintGenerator generator = new NumericFingerprintGenerator(5200); Fingerprint aliceFingerprint = generator.CreateFor( "+14152222222", aliceIdentityKey, "+14153333333", bobIdentityKey); Fingerprint bobFingerprint = generator.CreateFor( "+14153333333", bobIdentityKey, "+14152222222", aliceIdentityKey); Assert.AreEqual(aliceFingerprint.GetDisplayableFingerprint().GetDisplayText(), DisplayableFingerprint); Assert.AreEqual(bobFingerprint.GetDisplayableFingerprint().GetDisplayText(), DisplayableFingerprint); CollectionAssert.AreEqual(aliceFingerprint.GetScannableFingerprint().GetSerialized(), AliceScannableFingerprint); CollectionAssert.AreEqual(bobFingerprint.GetScannableFingerprint().GetSerialized(), BobScannableFingerprint); }
public void testVectorsVersion2() { IdentityKey aliceIdentityKey = new IdentityKey(ALICE_IDENTITY, 0); IdentityKey bobIdentityKey = new IdentityKey(BOB_IDENTITY, 0); byte[] aliceStableId = Encoding.UTF8.GetBytes("+14152222222"); byte[] bobStableId = Encoding.UTF8.GetBytes("+14153333333"); NumericFingerprintGenerator generator = new NumericFingerprintGenerator(5200); Fingerprint aliceFingerprint = generator.createFor(VERSION_2, aliceStableId, aliceIdentityKey, bobStableId, bobIdentityKey); Fingerprint bobFingerprint = generator.createFor(VERSION_2, bobStableId, bobIdentityKey, aliceStableId, aliceIdentityKey); Assert.AreEqual(DISPLAYABLE_FINGERPRINT_V2, aliceFingerprint.getDisplayableFingerprint().getDisplayText()); Assert.AreEqual(DISPLAYABLE_FINGERPRINT_V2, bobFingerprint.getDisplayableFingerprint().getDisplayText()); CollectionAssert.AreEqual(ALICE_SCANNABLE_FINGERPRINT_V2, aliceFingerprint.getScannableFingerprint().getSerialized()); CollectionAssert.AreEqual(BOB_SCANNABLE_FINGERPRINT_V2, bobFingerprint.getScannableFingerprint().getSerialized()); }
public void testDifferentVersionsMakeSameFingerPrintsButDifferentScannable() { IdentityKey aliceIdentityKey = new IdentityKey(ALICE_IDENTITY, 0); IdentityKey bobIdentityKey = new IdentityKey(BOB_IDENTITY, 0); byte[] aliceStableId = Encoding.UTF8.GetBytes("+14152222222"); byte[] bobStableId = Encoding.UTF8.GetBytes("+14153333333"); NumericFingerprintGenerator generator = new NumericFingerprintGenerator(5200); Fingerprint aliceFingerprintV1 = generator.createFor(VERSION_1, aliceStableId, aliceIdentityKey, bobStableId, bobIdentityKey); Fingerprint aliceFingerprintV2 = generator.createFor(VERSION_2, aliceStableId, aliceIdentityKey, bobStableId, bobIdentityKey); Assert.IsTrue(aliceFingerprintV1.getDisplayableFingerprint().getDisplayText() == aliceFingerprintV2.getDisplayableFingerprint().getDisplayText()); CollectionAssert.AreNotEqual(aliceFingerprintV1.getScannableFingerprint().getSerialized(), aliceFingerprintV2.getScannableFingerprint().getSerialized()); }