fixed SafeKeyEXchange.SessionKey serialization issue
This commit is contained in:
1 parent
84a3e82216
commit
66254f8fa6
6 files changed
+73
-25
No files matched your search
@@ -34,6 +34,8 @@ class ContainerTest {
|
||||
assertNotNull(d)
|
||||
assertContentEquals(data, d)
|
||||
assertTrue { c1.isDecrypted }
|
||||
assertEquals(syk1.id, c1.decryptedWithKeyId)
|
||||
assertEquals(syk1, c1.decryptedWithKey)
|
||||
|
||||
val data2 = "To push unpushinable".encodeToUByteArray()
|
||||
val c2 = Container.decode(c.updateData(data2).encoded)
|
||||
@@ -61,7 +63,7 @@ class ContainerTest {
|
||||
assertContentEquals(data, d)
|
||||
assertTrue { c1.isDecrypted }
|
||||
assertEquals(p2.publicKey.id, c1.decryptedWithKeyId)
|
||||
assertEquals(p1.publicKey, c1.authorisedByKey)
|
||||
assertEquals(p2.secretKey, c1.decryptedWithKey)
|
||||
|
||||
val data2 = "To push unpushinable".encodeToUByteArray()
|
||||
val c2 = Container.decode(c.updateData(data2).encoded)
|
||||
@@ -88,7 +90,7 @@ class ContainerTest {
|
||||
assertContentEquals(data, d)
|
||||
assertTrue { c1.isDecrypted }
|
||||
assertEquals(p4.publicKey.id, c1.decryptedWithKeyId)
|
||||
assertEquals(p1.publicKey, c1.authorisedByKey)
|
||||
assertEquals(p4.secretKey, c1.decryptedWithKey)
|
||||
|
||||
val data2 = "To push unpushinable".encodeToUByteArray()
|
||||
val c2 = Container.decode(c.updateData(data2).encoded)
|
||||
@@ -338,4 +340,4 @@ class ContainerTest {
|
||||
expectOpen(data2, syk3, p3.secretKey, p4.secretKey)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -241,6 +241,28 @@ class KeysTest {
|
||||
assertContentEquals(clientSessionKey.sessionTag, serverSessionKey.sessionTag)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun sessionKeySerializationTest() = runTest {
|
||||
initCrypto()
|
||||
val ske = SafeKeyExchange()
|
||||
val cke = SafeKeyExchange()
|
||||
|
||||
val clientSessionKey = cke.clientSessionKey(ske.publicKey)
|
||||
val serverSessionKey = ske.serverSessionKey(cke.publicKey)
|
||||
|
||||
val restoredClientSessionKey = unpack<SafeKeyExchange.SessionKey>(pack(clientSessionKey))
|
||||
val restoredServerSessionKey = unpack<SafeKeyExchange.SessionKey>(pack(serverSessionKey))
|
||||
|
||||
assertEquals(clientSessionKey, restoredClientSessionKey)
|
||||
assertEquals(serverSessionKey, restoredServerSessionKey)
|
||||
assertContentEquals(clientSessionKey.sessionTag, restoredClientSessionKey.sessionTag)
|
||||
assertContentEquals(serverSessionKey.sessionTag, restoredServerSessionKey.sessionTag)
|
||||
|
||||
val src = "Hello from restored session keys!"
|
||||
assertEquals(src, restoredServerSessionKey.decryptString(restoredClientSessionKey.encrypt(src)))
|
||||
assertEquals(src, restoredClientSessionKey.decryptString(restoredServerSessionKey.encrypt(src)))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun asymmetricKeyTest() = runTest {
|
||||
initCrypto()
|
||||
|
||||
Reference in new issue
Block a user