From b0de1cc1bdf95afa1a7ef0e6792f9b19b5769e7d Mon Sep 17 00:00:00 2001 From: Thai Duong <thaidn@google.com> Date: Tue, 3 Oct 2017 22:09:23 -0700 Subject: [PATCH] Don't depend on protobuf-java-util which doesn't support Android. Change-Id: Ib465cc0feeeca5a0f6f31e8b5968af3c1e4d75f5 Bug: 67385998 ORIGINAL_AUTHOR=Thai Duong <thaidn@google.com> GitOrigin-RevId: 3cf99a121e531d693ca3ba3ff33cba0b0f66a8f6 --- WORKSPACE | 6 --- java/BUILD | 1 - .../crypto/tink/JsonKeysetReaderTest.java | 43 ++++++++----------- .../crypto/tink/JsonKeysetWriterTest.java | 13 +++--- 4 files changed, 24 insertions(+), 39 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 192c0d721..b64ebe037 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -216,12 +216,6 @@ maven_jar( sha1 = "1d63f369ac78e4838a3197147012026e791008cb", ) -maven_jar( - name = "com_google_protobuf_java_util", - artifact = "com.google.protobuf:protobuf-java-util:3.3.0", - sha1 = "f78f5d3c05053470023b12cbe4a94419d3792274", -) - maven_jar( name = "org_json_json", artifact = "org.json:json:20170516", diff --git a/java/BUILD b/java/BUILD index c6017ce71..20248b23e 100644 --- a/java/BUILD +++ b/java/BUILD @@ -196,7 +196,6 @@ java_library( "@com_fasterxml_jackson_core//jar", "@com_google_api_client//jar", "@com_google_guava//jar", - "@com_google_protobuf_java_util//jar", "@com_google_protobuf_javalite//:protobuf_java_lite", "@com_google_truth//jar", "@junit_junit_4//jar", diff --git a/java/src/test/java/com/google/crypto/tink/JsonKeysetReaderTest.java b/java/src/test/java/com/google/crypto/tink/JsonKeysetReaderTest.java index 3f2a415ee..1d3336cd3 100644 --- a/java/src/test/java/com/google/crypto/tink/JsonKeysetReaderTest.java +++ b/java/src/test/java/com/google/crypto/tink/JsonKeysetReaderTest.java @@ -27,7 +27,6 @@ import com.google.crypto.tink.mac.MacKeyTemplates; import com.google.crypto.tink.proto.EncryptedKeyset; import com.google.crypto.tink.proto.KeyTemplate; import com.google.crypto.tink.subtle.Random; -import com.google.protobuf.util.JsonFormat; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; @@ -89,8 +88,11 @@ public class JsonKeysetReaderTest { public void testRead_singleKey_shouldWork() throws Exception { KeyTemplate template = MacKeyTemplates.HMAC_SHA256_128BITTAG; KeysetHandle handle1 = KeysetHandle.generateNew(template); + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + CleartextKeysetHandle.write(handle1, JsonKeysetWriter.withOutputStream(outputStream)); KeysetHandle handle2 = CleartextKeysetHandle.read( - JsonKeysetReader.withString(JsonFormat.printer().print(handle1.getKeyset()))); + JsonKeysetReader.withInputStream( + new ByteArrayInputStream(outputStream.toByteArray()))); assertKeysetHandle(handle1, handle2); } @@ -104,8 +106,11 @@ public class JsonKeysetReaderTest { .add(template) .add(template) .getKeysetHandle(); + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + CleartextKeysetHandle.write(handle1, JsonKeysetWriter.withOutputStream(outputStream)); KeysetHandle handle2 = CleartextKeysetHandle.read( - JsonKeysetReader.withString(JsonFormat.printer().print(handle1.getKeyset()))); + JsonKeysetReader.withInputStream( + new ByteArrayInputStream(outputStream.toByteArray()))); assertKeysetHandle(handle1, handle2); } @@ -278,14 +283,11 @@ public class JsonKeysetReaderTest { .generateNew(MacKeyTemplates.HMAC_SHA256_128BITTAG); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); handle1.write(JsonKeysetWriter.withOutputStream(outputStream), masterKey); - EncryptedKeyset keyset1 = JsonKeysetReader - .withBytes(outputStream.toByteArray()) - .readEncrypted(); - String jsonKeyset = JsonFormat.printer().print(keyset1); - EncryptedKeyset keyset2 = JsonKeysetReader.withString(jsonKeyset).readEncrypted(); - KeysetHandle handle2 = KeysetHandle.read(JsonKeysetReader.withString(jsonKeyset), masterKey); - - assertThat(keyset2).isEqualTo(keyset1); + KeysetHandle handle2 = KeysetHandle.read( + JsonKeysetReader.withInputStream( + new ByteArrayInputStream(outputStream.toByteArray())), + masterKey); + assertKeysetHandle(handle1, handle2); } @@ -303,14 +305,11 @@ public class JsonKeysetReaderTest { .add(template) .getKeysetHandle(); handle1.write(JsonKeysetWriter.withOutputStream(outputStream), masterKey); - EncryptedKeyset keyset1 = JsonKeysetReader - .withBytes(outputStream.toByteArray()) - .readEncrypted(); - String jsonKeyset = JsonFormat.printer().print(keyset1); - EncryptedKeyset keyset2 = JsonKeysetReader.withString(jsonKeyset).readEncrypted(); - KeysetHandle handle2 = KeysetHandle.read(JsonKeysetReader.withString(jsonKeyset), masterKey); - - assertThat(keyset2).isEqualTo(keyset1); + KeysetHandle handle2 = KeysetHandle.read( + JsonKeysetReader.withInputStream( + new ByteArrayInputStream(outputStream.toByteArray())), + masterKey); + assertKeysetHandle(handle1, handle2); } @@ -323,11 +322,7 @@ public class JsonKeysetReaderTest { KeysetHandle handle = KeysetHandle .generateNew(MacKeyTemplates.HMAC_SHA256_128BITTAG); handle.write(JsonKeysetWriter.withOutputStream(outputStream), masterKey); - EncryptedKeyset keyset1 = JsonKeysetReader - .withBytes(outputStream.toByteArray()) - .readEncrypted(); - String jsonKeyset = JsonFormat.printer().print(keyset1); - JSONObject json = new JSONObject(jsonKeyset); + JSONObject json = new JSONObject(new String(outputStream.toByteArray(), UTF_8)); json.remove("encryptedKeyset"); // remove key try { diff --git a/java/src/test/java/com/google/crypto/tink/JsonKeysetWriterTest.java b/java/src/test/java/com/google/crypto/tink/JsonKeysetWriterTest.java index cff921d24..e8f5b6772 100644 --- a/java/src/test/java/com/google/crypto/tink/JsonKeysetWriterTest.java +++ b/java/src/test/java/com/google/crypto/tink/JsonKeysetWriterTest.java @@ -27,7 +27,7 @@ import com.google.crypto.tink.proto.EncryptedKeyset; import com.google.crypto.tink.proto.KeyTemplate; import com.google.crypto.tink.proto.Keyset; import com.google.crypto.tink.subtle.Random; -import com.google.protobuf.util.JsonFormat; +import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.security.GeneralSecurityException; import org.junit.BeforeClass; @@ -55,9 +55,8 @@ public class JsonKeysetWriterTest { private void testWrite_shouldWork(KeysetHandle handle1) throws Exception { ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); CleartextKeysetHandle.write(handle1, JsonKeysetWriter.withOutputStream(outputStream)); - Keyset.Builder builder = Keyset.newBuilder(); - JsonFormat.parser().merge(new String(outputStream.toByteArray(), UTF_8), builder); - KeysetHandle handle2 = KeysetHandle.fromKeyset(builder.build()); + KeysetHandle handle2 = CleartextKeysetHandle.read( + JsonKeysetReader.withInputStream(new ByteArrayInputStream(outputStream.toByteArray()))); assertKeysetHandle(handle1, handle2); } @@ -89,10 +88,8 @@ public class JsonKeysetWriterTest { Aead masterKey = Registry.getPrimitive(Registry.newKeyData(masterKeyTemplate)); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); handle1.write(JsonKeysetWriter.withOutputStream(outputStream), masterKey); - EncryptedKeyset.Builder builder = EncryptedKeyset.newBuilder(); - JsonFormat.parser().merge(new String(outputStream.toByteArray(), UTF_8), builder); - KeysetHandle handle2 = - KeysetHandle.read(BinaryKeysetReader.withBytes(builder.build().toByteArray()), masterKey); + KeysetHandle handle2 = KeysetHandle.read(JsonKeysetReader.withInputStream( + new ByteArrayInputStream(outputStream.toByteArray())), masterKey); assertKeysetHandle(handle1, handle2); } -- GitLab