diff options
Diffstat (limited to 'security-utils/src/test/java/com/yahoo')
-rw-r--r-- | security-utils/src/test/java/com/yahoo/security/SharedKeyTest.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/security-utils/src/test/java/com/yahoo/security/SharedKeyTest.java b/security-utils/src/test/java/com/yahoo/security/SharedKeyTest.java index 875877aed6a..26627e9a5fa 100644 --- a/security-utils/src/test/java/com/yahoo/security/SharedKeyTest.java +++ b/security-utils/src/test/java/com/yahoo/security/SharedKeyTest.java @@ -14,6 +14,7 @@ import java.util.Optional; import static com.yahoo.security.ArrayUtils.hex; import static org.junit.jupiter.api.Assertions.assertArrayEquals; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotEquals; import static org.junit.jupiter.api.Assertions.assertThrows; public class SharedKeyTest { @@ -22,6 +23,25 @@ public class SharedKeyTest { private static final KeyId KEY_ID_2 = KeyId.ofString("2"); @Test + void sealed_shared_key_uses_enc_and_ciphertext_contents_for_equals_and_hash_code() { + var tokenStr1 = "2qW20eDfgCxDVTJfLPzihhqV4i1Ma6QrvjdoU24Csf6W0iKbYmezchhxIGeI39WcHYDvbah5tfLoYZ69ofW40zy59Nm91tavFsA"; + var tokenStr2 = "mjA83HYuulZW5SWV8FKz4m3b3m9zU8mTrX9n6iY4wZaA6ZNr8WnBZwOU4KQqhPCORPlzSYk4svlonzPZIb3Bjbqr2ePYKLOpdGhCO"; + var token1a = SealedSharedKey.fromTokenString(tokenStr1); + var token1b = SealedSharedKey.fromTokenString(tokenStr1); + var token2a = SealedSharedKey.fromTokenString(tokenStr2); + var token2b = SealedSharedKey.fromTokenString(tokenStr2); + assertEquals(token1a, token1a); // trivial + assertEquals(token1a, token1b); // needs deep compare for array contents + assertEquals(token1b, token1a); + assertEquals(token2a, token2b); + assertNotEquals(token1a, token2a); + + assertEquals(token1a.hashCode(), token1b.hashCode()); + assertEquals(token2a.hashCode(), token2b.hashCode()); + assertNotEquals(token1a.hashCode(), token2a.hashCode()); // ... with a very high probability + } + + @Test void generated_secret_key_is_128_bit_aes() { var receiverKeyPair = KeyUtils.generateX25519KeyPair(); var shared = SharedKeyGenerator.generateForReceiverPublicKey(receiverKeyPair.getPublic(), KEY_ID_1); |