summaryrefslogtreecommitdiffstats
path: root/security-utils/src/test/java/com/yahoo/security/SharedKeyTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'security-utils/src/test/java/com/yahoo/security/SharedKeyTest.java')
-rw-r--r--security-utils/src/test/java/com/yahoo/security/SharedKeyTest.java20
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);