aboutsummaryrefslogtreecommitdiff
path: root/java_src/src/test/java
diff options
context:
space:
mode:
authorlizatretyakova <lizatretyakova@google.com>2023-08-07 06:23:10 -0700
committerCopybara-Service <copybara-worker@google.com>2023-08-07 06:24:11 -0700
commitf491e2e6f9e9ea38d10623231aeea7ebc9c01c42 (patch)
treea91319a91280cbf1d1d48e82216baff9d134f414 /java_src/src/test/java
parentb8fa494529f005263f2c0c369b64139d6421cb40 (diff)
downloadtink-f491e2e6f9e9ea38d10623231aeea7ebc9c01c42.tar.gz
Add support for full PRF primitive creation to HmacPrfKeyManager.
PiperOrigin-RevId: 554455965
Diffstat (limited to 'java_src/src/test/java')
-rw-r--r--java_src/src/test/java/com/google/crypto/tink/prf/BUILD.bazel3
-rw-r--r--java_src/src/test/java/com/google/crypto/tink/prf/HmacPrfKeyManagerTest.java20
2 files changed, 23 insertions, 0 deletions
diff --git a/java_src/src/test/java/com/google/crypto/tink/prf/BUILD.bazel b/java_src/src/test/java/com/google/crypto/tink/prf/BUILD.bazel
index f3e09ef1e..2b8a513ff 100644
--- a/java_src/src/test/java/com/google/crypto/tink/prf/BUILD.bazel
+++ b/java_src/src/test/java/com/google/crypto/tink/prf/BUILD.bazel
@@ -83,6 +83,8 @@ java_test(
"//src/main/java/com/google/crypto/tink:key_templates",
"//src/main/java/com/google/crypto/tink:registry_cluster",
"//src/main/java/com/google/crypto/tink/internal:key_type_manager",
+ "//src/main/java/com/google/crypto/tink/internal:mutable_primitive_registry",
+ "//src/main/java/com/google/crypto/tink/prf:hmac_prf_key",
"//src/main/java/com/google/crypto/tink/prf:hmac_prf_key_manager",
"//src/main/java/com/google/crypto/tink/prf:hmac_prf_parameters",
"//src/main/java/com/google/crypto/tink/prf:prf_config",
@@ -91,6 +93,7 @@ java_test(
"//src/main/java/com/google/crypto/tink/subtle:prf_hmac_jce",
"//src/main/java/com/google/crypto/tink/subtle:random",
"//src/main/java/com/google/crypto/tink/testing:key_type_manager_test_util",
+ "//src/main/java/com/google/crypto/tink/util:secret_bytes",
"@maven//:com_google_protobuf_protobuf_java",
"@maven//:com_google_truth_truth",
"@maven//:junit_junit",
diff --git a/java_src/src/test/java/com/google/crypto/tink/prf/HmacPrfKeyManagerTest.java b/java_src/src/test/java/com/google/crypto/tink/prf/HmacPrfKeyManagerTest.java
index 3a27fd629..595e58322 100644
--- a/java_src/src/test/java/com/google/crypto/tink/prf/HmacPrfKeyManagerTest.java
+++ b/java_src/src/test/java/com/google/crypto/tink/prf/HmacPrfKeyManagerTest.java
@@ -24,6 +24,7 @@ import com.google.crypto.tink.KeyTemplate;
import com.google.crypto.tink.KeyTemplates;
import com.google.crypto.tink.KeysetHandle;
import com.google.crypto.tink.internal.KeyTypeManager;
+import com.google.crypto.tink.internal.MutablePrimitiveRegistry;
import com.google.crypto.tink.proto.HashType;
import com.google.crypto.tink.proto.HmacPrfKey;
import com.google.crypto.tink.proto.HmacPrfKeyFormat;
@@ -31,6 +32,7 @@ import com.google.crypto.tink.proto.HmacPrfParams;
import com.google.crypto.tink.subtle.Hex;
import com.google.crypto.tink.subtle.PrfHmacJce;
import com.google.crypto.tink.subtle.Random;
+import com.google.crypto.tink.util.SecretBytes;
import com.google.protobuf.ByteString;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
@@ -310,4 +312,22 @@ public class HmacPrfKeyManagerTest {
assertThat(h.getAt(0).getKey().getParameters())
.isEqualTo(KeyTemplates.get(templateName).toParameters());
}
+
+ @Test
+ public void registersPrfPrimitiveConstructor() throws Exception {
+ Prf prf =
+ MutablePrimitiveRegistry.globalInstance()
+ .getPrimitive(
+ com.google.crypto.tink.prf.HmacPrfKey.builder()
+ .setParameters(
+ HmacPrfParameters.builder()
+ .setHashType(HmacPrfParameters.HashType.SHA256)
+ .setKeySizeBytes(32)
+ .build())
+ .setKeyBytes(SecretBytes.randomBytes(32))
+ .build(),
+ Prf.class);
+
+ assertThat(prf).isInstanceOf(PrfHmacJce.class);
+ }
}