keys refactoring: removed separate UniversalKey, it is now a direct base of any real keys instead of deleted KeyInstance

This commit is contained in:
sergeych committed 2024-06-24 15:44:35 +07:00
1 parent 5c97e857fc
commit 46a8b5bc06
12 files changed
+103 -184

No files matched your search

+16 -16
View File
@@ -20,14 +20,14 @@ class RingTest {
val e2: Asymmetric.SecretKey = BipackDecoder.decode(BipackEncoder.encode(e1))
assertEquals(e1, e2)
val k1 = UniversalKey.from(SymmetricKey("1234567890Hello,dolly.here-we-go".encodeToUByteArray()))
val k11 = UniversalKey.from(SymmetricKey("1234567890Hello,dolly.here-we-go".encodeToUByteArray()))
val k1 = SymmetricKey("1234567890Hello,dolly.here-we-go".encodeToUByteArray()) as UniversalKey
val k11 = SymmetricKey("1234567890Hello,dolly.here-we-go".encodeToUByteArray()) as UniversalKey
assertEquals(k1, k11)
val k2 = UniversalKey.from(Asymmetric.newSecretKey())
val k3 = UniversalKey.from(Asymmetric.newSecretKey())
val k2 = Asymmetric.newSecretKey()
val k3 = Asymmetric.newSecretKey()
//
val r = UniversalRing(k1, k2)
// val r = UniversalRing(k1)
@@ -40,7 +40,7 @@ class RingTest {
val encoded = BipackEncoder.encode(r)
println(encoded.toDump())
println(encoded.size)
assertTrue { encoded.size < 80 }
assertTrue { encoded.size < 82 }
val r2: UniversalRing = BipackDecoder.decode(encoded)
assertTrue { k2 in r2 }
assertTrue { k1 in r2 }
@@ -69,16 +69,16 @@ class RingTest {
val r1 = deepCopy(r)
println(r1.findKey<EncryptingKey>(sk.id))
println(sk)
assertTrue { sk.publicKey.toUniversalKey() == r1.findKey<EncryptingKey>(sk.id) }
assertTrue { sk.publicKey.toUniversalKey() == r1.keyByTag<EncryptingKey>("foo") }
assertTrue { sk.publicKey as UniversalKey == r1.findKey<EncryptingKey>(sk.id) }
assertTrue { sk.publicKey as UniversalKey == r1.keyByTag<EncryptingKey>("foo") }
}
@Test
fun testTags() = runTest {
initCrypto()
val k1 = UniversalKey.from(SymmetricKey("1234567890Hello,dolly.here-we-go".encodeToUByteArray()))
val k2 = UniversalKey.from(Asymmetric.newSecretKey())
val k1 = SymmetricKey("1234567890Hello,dolly.here-we-go".encodeToUByteArray()) as UniversalKey
val k2 = Asymmetric.newSecretKey() as UniversalKey
val r1 = UniversalRing(k1, k2)
var r2 = UniversalRing(deepCopy(k1), deepCopy(k2))
@@ -114,7 +114,7 @@ class RingTest {
val data = "Mendeleev' table".encodeToUByteArray()
var r = UniversalRing(sk2, sk3, sk1.publicKey, sk3.publicKey, sik3.publicKey, sik1.publicKey)
var r = UniversalRing(sk2, sk3, sk1.publicKey, sk3.publicKey, sik3.verifyingKey, sik1.verifyingKey)
r = r.addTags(sik1, "SECRET_SIGN")
@@ -122,11 +122,11 @@ class RingTest {
assertContentEquals(data, box.decryptWith(r))
assertEquals(sk3.publicKey, r.findKey<EncryptingKey>(sk3.id))
assertTrue { sik3.publicKey in r }
assertTrue { sik3.verifyingKey in r }
assertTrue { sik1 in r }
assertEquals(sik1, r.keyByTag<UniversalKey>("SECRET_SIGN"))
assertEquals(sik1, r.findKey<SigningKey>(sik1.publicKey.id))
assertEquals(sik1, r.findKey<SigningKey>(sik1.verifyingKey.id))
}
@Test
@@ -154,17 +154,17 @@ class RingTest {
var r1 = ra + rb + rc + rd
assertEquals(a, r1.findKey<UniversalKey.Secret>(a.id))
assertEquals(a, r1.findKey<Asymmetric.SecretKey>(a.id))
assertEquals(a, r1.keyByTag<UniversalKey>("foo_a"))
assertEquals(b, r1.findKey<SigningKey>(b.id))
assertEquals(c, r1.keysById(c.key.id).first())
assertEquals(c, r1.keysById(c.id).first())
r1 = UniversalRing.join(listOf(ra, rb, rc, rd))
assertEquals(a, r1.findKey<UniversalKey.Secret>(a.id))
assertEquals(a, r1.findKey<Asymmetric.SecretKey>(a.id))
assertEquals(a, r1.keyByTag<UniversalKey>("foo_a"))
assertEquals(b, r1.findKey<SigningKey>(b.id))
assertEquals(c, r1.keysById(c.key.id).first())
assertEquals(c, r1.keysById(c.id).first())
}
}