aboutsummaryrefslogtreecommitdiff
path: root/java_src/src/main/java/com/google/crypto/tink/aead/AesCtrHmacAeadKeyManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'java_src/src/main/java/com/google/crypto/tink/aead/AesCtrHmacAeadKeyManager.java')
-rw-r--r--java_src/src/main/java/com/google/crypto/tink/aead/AesCtrHmacAeadKeyManager.java40
1 files changed, 16 insertions, 24 deletions
diff --git a/java_src/src/main/java/com/google/crypto/tink/aead/AesCtrHmacAeadKeyManager.java b/java_src/src/main/java/com/google/crypto/tink/aead/AesCtrHmacAeadKeyManager.java
index c7f32fa6f..6c0b39389 100644
--- a/java_src/src/main/java/com/google/crypto/tink/aead/AesCtrHmacAeadKeyManager.java
+++ b/java_src/src/main/java/com/google/crypto/tink/aead/AesCtrHmacAeadKeyManager.java
@@ -16,8 +16,6 @@
package com.google.crypto.tink.aead;
-import static com.google.crypto.tink.internal.TinkBugException.exceptionIsBug;
-
import com.google.crypto.tink.Aead;
import com.google.crypto.tink.KeyTemplate;
import com.google.crypto.tink.Mac;
@@ -204,17 +202,7 @@ public final class AesCtrHmacAeadKeyManager extends KeyTypeManager<AesCtrHmacAea
* </ul>
*/
public static final KeyTemplate aes128CtrHmacSha256Template() {
- return exceptionIsBug(
- () ->
- KeyTemplate.createFrom(
- AesCtrHmacAeadParameters.builder()
- .setAesKeySizeBytes(16)
- .setHmacKeySizeBytes(32)
- .setTagSizeBytes(16)
- .setIvSizeBytes(16)
- .setHashType(AesCtrHmacAeadParameters.HashType.SHA256)
- .setVariant(AesCtrHmacAeadParameters.Variant.TINK)
- .build()));
+ return createKeyTemplate(16, 16, 32, 16, HashType.SHA256);
}
/**
@@ -229,17 +217,21 @@ public final class AesCtrHmacAeadKeyManager extends KeyTypeManager<AesCtrHmacAea
* </ul>
*/
public static final KeyTemplate aes256CtrHmacSha256Template() {
- return exceptionIsBug(
- () ->
- KeyTemplate.createFrom(
- AesCtrHmacAeadParameters.builder()
- .setAesKeySizeBytes(32)
- .setHmacKeySizeBytes(32)
- .setTagSizeBytes(32)
- .setIvSizeBytes(16)
- .setHashType(AesCtrHmacAeadParameters.HashType.SHA256)
- .setVariant(AesCtrHmacAeadParameters.Variant.TINK)
- .build()));
+ return createKeyTemplate(32, 16, 32, 32, HashType.SHA256);
+ }
+
+ /**
+ * @return a {@link KeyTemplate} containing a {@link AesCtrHmacAeadKeyFormat} with some specific
+ * parameters.
+ */
+ private static KeyTemplate createKeyTemplate(
+ int aesKeySize, int ivSize, int hmacKeySize, int tagSize, HashType hashType) {
+ AesCtrHmacAeadKeyFormat format =
+ createKeyFormat(aesKeySize, ivSize, hmacKeySize, tagSize, hashType);
+ return KeyTemplate.create(
+ new AesCtrHmacAeadKeyManager().getKeyType(),
+ format.toByteArray(),
+ KeyTemplate.OutputPrefixType.TINK);
}
private static KeyFactory.KeyFormat<AesCtrHmacAeadKeyFormat> createKeyFormat(