Added support for SafeKeyExchange serialization/deserialization and associated tests.
This commit is contained in:
1 parent
cd57627cdb
commit
d6b171229f
2 files changed
+81
-4
No files matched your search
@@ -221,6 +221,26 @@ class KeysTest {
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
fun keyExchangeSerializationTest() = runTest {
|
||||
initCrypto()
|
||||
val ske = SafeKeyExchange()
|
||||
val packedExchange = pack(ske)
|
||||
|
||||
val cke = SafeKeyExchange()
|
||||
val clientSessionKey = cke.clientSessionKey(ske.publicKey)
|
||||
|
||||
val restoredExchange = unpack<SafeKeyExchange>(packedExchange)
|
||||
assertEquals(ske.publicKey, restoredExchange.publicKey)
|
||||
|
||||
val serverSessionKey = restoredExchange.serverSessionKey(cke.publicKey)
|
||||
|
||||
val src = "Hello after restore!"
|
||||
assertEquals(src, serverSessionKey.decryptString(clientSessionKey.encrypt(src)))
|
||||
assertEquals(src, clientSessionKey.decryptString(serverSessionKey.encrypt(src)))
|
||||
assertContentEquals(clientSessionKey.sessionTag, serverSessionKey.sessionTag)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun asymmetricKeyTest() = runTest {
|
||||
initCrypto()
|
||||
|
||||
Reference in new issue
Block a user