forked from sergeych/crypto2
fix #1 UniversalPrivateKey & UniversalPublicKey
This commit is contained in:
1 parent
194fe22afa
commit
640ceb448e
9 files changed
+131
-4
No files matched your search
@@ -360,4 +360,34 @@ class KeysTest {
|
||||
assertTrue { mk.check(k4.verifyingKey) }
|
||||
assertTrue { mk.check(k5.verifyingKey) }
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testCombinedKeys() = runTest {
|
||||
initCrypto()
|
||||
val k1 = UniversalPrivateKey.new()
|
||||
val k2 = UniversalPrivateKey.new()
|
||||
val k3: UniversalPrivateKey = unpack(pack(k1))
|
||||
assertEquals(k1, k3)
|
||||
assertEquals(k1.publicKey, k3.publicKey)
|
||||
assertEquals(k1.signingKey, k3.signingKey)
|
||||
assertEquals(k1.verifyingKey, k3.verifyingKey)
|
||||
|
||||
val k4: UniversalPublicKey = unpack(pack(k1.publicKey))
|
||||
assertEquals(k1.publicKey, k4)
|
||||
assertEquals(k1.publicKey.encryptingKey, k4.encryptingKey)
|
||||
assertEquals(k1.publicKey.verifyingKey, k4.verifyingKey)
|
||||
|
||||
val data =
|
||||
"""We hold these truths to be self-evident, that all men are created equal,
|
||||
|that they are endowed by their Creator with certain unalienable Rights,
|
||||
|that among these are Life, Liberty and the pursuit of Happiness."""
|
||||
.trimMargin()
|
||||
|
||||
val kr1 = UniversalRing.from(k1)
|
||||
val kr2: UniversalRing = UniversalRing.from(k2)
|
||||
|
||||
val bytes = Container.encrypt(data, k2.publicKey)
|
||||
assertNull(Container.decrypt<String>(bytes, kr1))
|
||||
assertEquals(data, Container.decrypt<String>(bytes, kr2))
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user