aboutsummaryrefslogtreecommitdiff
path: root/java_src/src/main/java/com/google/crypto/tink/aead/AesGcmKeyManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'java_src/src/main/java/com/google/crypto/tink/aead/AesGcmKeyManager.java')
-rw-r--r--java_src/src/main/java/com/google/crypto/tink/aead/AesGcmKeyManager.java53
1 files changed, 15 insertions, 38 deletions
diff --git a/java_src/src/main/java/com/google/crypto/tink/aead/AesGcmKeyManager.java b/java_src/src/main/java/com/google/crypto/tink/aead/AesGcmKeyManager.java
index 11c3dd380..e1ff14cf7 100644
--- a/java_src/src/main/java/com/google/crypto/tink/aead/AesGcmKeyManager.java
+++ b/java_src/src/main/java/com/google/crypto/tink/aead/AesGcmKeyManager.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.Registry;
@@ -151,15 +149,7 @@ public final class AesGcmKeyManager extends KeyTypeManager<AesGcmKey> {
* in older versions.
*/
public static final KeyTemplate aes128GcmTemplate() {
- return exceptionIsBug(
- () ->
- KeyTemplate.createFrom(
- AesGcmParameters.builder()
- .setKeySizeBytes(16)
- .setIvSizeBytes(12)
- .setTagSizeBytes(16)
- .setVariant(AesGcmParameters.Variant.TINK)
- .build()));
+ return createKeyTemplate(16, KeyTemplate.OutputPrefixType.TINK);
}
/**
@@ -176,15 +166,7 @@ public final class AesGcmKeyManager extends KeyTypeManager<AesGcmKey> {
* in older versions.
*/
public static final KeyTemplate rawAes128GcmTemplate() {
- return exceptionIsBug(
- () ->
- KeyTemplate.createFrom(
- AesGcmParameters.builder()
- .setKeySizeBytes(16)
- .setIvSizeBytes(12)
- .setTagSizeBytes(16)
- .setVariant(AesGcmParameters.Variant.NO_PREFIX)
- .build()));
+ return createKeyTemplate(16, KeyTemplate.OutputPrefixType.RAW);
}
/**
@@ -199,15 +181,7 @@ public final class AesGcmKeyManager extends KeyTypeManager<AesGcmKey> {
* in older versions.
*/
public static final KeyTemplate aes256GcmTemplate() {
- return exceptionIsBug(
- () ->
- KeyTemplate.createFrom(
- AesGcmParameters.builder()
- .setKeySizeBytes(32)
- .setIvSizeBytes(12)
- .setTagSizeBytes(16)
- .setVariant(AesGcmParameters.Variant.TINK)
- .build()));
+ return createKeyTemplate(32, KeyTemplate.OutputPrefixType.TINK);
}
/**
@@ -224,15 +198,18 @@ public final class AesGcmKeyManager extends KeyTypeManager<AesGcmKey> {
* in older versions.
*/
public static final KeyTemplate rawAes256GcmTemplate() {
- return exceptionIsBug(
- () ->
- KeyTemplate.createFrom(
- AesGcmParameters.builder()
- .setKeySizeBytes(32)
- .setIvSizeBytes(12)
- .setTagSizeBytes(16)
- .setVariant(AesGcmParameters.Variant.NO_PREFIX)
- .build()));
+ return createKeyTemplate(32, KeyTemplate.OutputPrefixType.RAW);
+ }
+
+ /**
+ * @return a {@link KeyTemplate} containing a {@link AesGcmKeyFormat} with some specified
+ * parameters.
+ */
+ private static KeyTemplate createKeyTemplate(
+ int keySize, KeyTemplate.OutputPrefixType prefixType) {
+ AesGcmKeyFormat format = AesGcmKeyFormat.newBuilder().setKeySize(keySize).build();
+ return KeyTemplate.create(
+ new AesGcmKeyManager().getKeyType(), format.toByteArray(), prefixType);
}
private static KeyFactory.KeyFormat<AesGcmKeyFormat> createKeyFormat(