From 5779cc988b4b044aac7f63f0a8626cc459440258 Mon Sep 17 00:00:00 2001 From: shikhman Date: Mon, 13 Mar 2017 12:55:51 -0700 Subject: [PATCH] Refactor RdeKeyringModule into FakeKeyringModule A fake Keyring implementation is needed to test Keyring related tools now, so I've refactored the fake RdeKeyring to support all Keyring API methods and moved it to the common testing package. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=149977968 --- .../registry/rde/BrdaCopyActionTest.java | 3 +- .../rde/GhostrydeGpgIntegrationTest.java | 10 +- .../google/registry/rde/GhostrydeTest.java | 17 ++-- .../registry/rde/RdeReportActionTest.java | 5 +- .../registry/rde/RdeStagingActionTest.java | 3 +- .../registry/rde/RdeUploadActionTest.java | 5 +- .../registry/rde/RydeGpgIntegrationTest.java | 3 +- javatests/google/registry/testing/BUILD | 4 +- .../FakeKeyringModule.java} | 47 ++++----- .../testdata/pgp-private-keyring-registry.asc | 98 +++++++++++++++++++ .../testing/testdata/pgp-public-keyring.asc | 95 ++++++++++++++++++ .../testing/testdata/registry-unittest.id_rsa | 27 +++++ .../testdata/registry-unittest.id_rsa.pub | 1 + .../EncryptEscrowDepositCommandTest.java | 6 +- .../registry/tools/GhostrydeCommandTest.java | 4 +- 15 files changed, 281 insertions(+), 47 deletions(-) rename javatests/google/registry/{rde/RdeKeyringModule.java => testing/FakeKeyringModule.java} (76%) create mode 100644 javatests/google/registry/testing/testdata/pgp-private-keyring-registry.asc create mode 100644 javatests/google/registry/testing/testdata/pgp-public-keyring.asc create mode 100644 javatests/google/registry/testing/testdata/registry-unittest.id_rsa create mode 100644 javatests/google/registry/testing/testdata/registry-unittest.id_rsa.pub diff --git a/javatests/google/registry/rde/BrdaCopyActionTest.java b/javatests/google/registry/rde/BrdaCopyActionTest.java index a6a26a012..ffa8e0b36 100644 --- a/javatests/google/registry/rde/BrdaCopyActionTest.java +++ b/javatests/google/registry/rde/BrdaCopyActionTest.java @@ -32,6 +32,7 @@ import google.registry.gcs.GcsUtils; import google.registry.keyring.api.Keyring; import google.registry.testing.AppEngineRule; import google.registry.testing.BouncyCastleProviderRule; +import google.registry.testing.FakeKeyringModule; import google.registry.testing.GcsTestingUtils; import google.registry.testing.GpgSystemCommandRule; import google.registry.testing.Providers; @@ -87,7 +88,7 @@ public class BrdaCopyActionTest extends ShardableTestCase { @BeforeClass public static void beforeClass() { - try (Keyring keyring = new RdeKeyringModule().get()) { + try (Keyring keyring = new FakeKeyringModule().get()) { encryptKey = keyring.getRdeStagingEncryptionKey(); decryptKey = keyring.getRdeStagingDecryptionKey(); receiverKey = keyring.getRdeReceiverKey(); diff --git a/javatests/google/registry/rde/GhostrydeGpgIntegrationTest.java b/javatests/google/registry/rde/GhostrydeGpgIntegrationTest.java index f4f23f279..dc8115be7 100644 --- a/javatests/google/registry/rde/GhostrydeGpgIntegrationTest.java +++ b/javatests/google/registry/rde/GhostrydeGpgIntegrationTest.java @@ -24,6 +24,7 @@ import static org.junit.Assume.assumeTrue; import com.google.common.io.CharStreams; import google.registry.keyring.api.Keyring; import google.registry.testing.BouncyCastleProviderRule; +import google.registry.testing.FakeKeyringModule; import google.registry.testing.GpgSystemCommandRule; import google.registry.testing.ShardableTestCase; import java.io.File; @@ -50,9 +51,10 @@ public class GhostrydeGpgIntegrationTest extends ShardableTestCase { public final BouncyCastleProviderRule bouncy = new BouncyCastleProviderRule(); @Rule - public final GpgSystemCommandRule gpg = new GpgSystemCommandRule( - RdeTestData.get("pgp-public-keyring.asc"), - RdeTestData.get("pgp-private-keyring-registry.asc")); + public final GpgSystemCommandRule gpg = + new GpgSystemCommandRule( + RdeTestData.get("pgp-public-keyring.asc"), + RdeTestData.get("pgp-private-keyring-registry.asc")); @DataPoints public static GpgCommand[] commands = new GpgCommand[] { @@ -84,7 +86,7 @@ public class GhostrydeGpgIntegrationTest extends ShardableTestCase { public void test(GpgCommand cmd, BufferSize bufferSize, Filename filename, Content content) throws Exception { assumeTrue(hasCommand(cmd.get() + " --version")); - Keyring keyring = new RdeKeyringModule().get(); + Keyring keyring = new FakeKeyringModule().get(); PGPPublicKey publicKey = keyring.getRdeStagingEncryptionKey(); File file = new File(gpg.getCwd(), "love.gpg"); byte[] data = content.get().getBytes(UTF_8); diff --git a/javatests/google/registry/rde/GhostrydeTest.java b/javatests/google/registry/rde/GhostrydeTest.java index 3c357c150..11fa9a6cc 100644 --- a/javatests/google/registry/rde/GhostrydeTest.java +++ b/javatests/google/registry/rde/GhostrydeTest.java @@ -28,6 +28,7 @@ import google.registry.keyring.api.Keyring; import google.registry.rde.Ghostryde.DecodeResult; import google.registry.testing.BouncyCastleProviderRule; import google.registry.testing.ExceptionRule; +import google.registry.testing.FakeKeyringModule; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.OutputStream; @@ -78,7 +79,7 @@ public class GhostrydeTest { @Theory public void testSimpleApi(Filename filename, Content content) throws Exception { - Keyring keyring = new RdeKeyringModule().get(); + Keyring keyring = new FakeKeyringModule().get(); byte[] data = content.get().getBytes(UTF_8); DateTime mtime = DateTime.parse("1984-12-18T00:30:00Z"); PGPPublicKey publicKey = keyring.getRdeStagingEncryptionKey(); @@ -95,7 +96,7 @@ public class GhostrydeTest { @Theory public void testStreamingApi(BufferSize bufferSize, Filename filename, Content content) throws Exception { - Keyring keyring = new RdeKeyringModule().get(); + Keyring keyring = new FakeKeyringModule().get(); byte[] data = content.get().getBytes(UTF_8); DateTime mtime = DateTime.parse("1984-12-18T00:30:00Z"); PGPPublicKey publicKey = keyring.getRdeStagingEncryptionKey(); @@ -125,7 +126,7 @@ public class GhostrydeTest { @Theory public void testEncryptOnly(Content content) throws Exception { - Keyring keyring = new RdeKeyringModule().get(); + Keyring keyring = new FakeKeyringModule().get(); byte[] data = content.get().getBytes(UTF_8); PGPPublicKey publicKey = keyring.getRdeStagingEncryptionKey(); PGPPrivateKey privateKey = keyring.getRdeStagingDecryptionKey(); @@ -147,7 +148,7 @@ public class GhostrydeTest { @Theory public void testEncryptCompressOnly(Content content) throws Exception { - Keyring keyring = new RdeKeyringModule().get(); + Keyring keyring = new FakeKeyringModule().get(); PGPPublicKey publicKey = keyring.getRdeStagingEncryptionKey(); PGPPrivateKey privateKey = keyring.getRdeStagingDecryptionKey(); byte[] data = content.get().getBytes(UTF_8); @@ -175,7 +176,7 @@ public class GhostrydeTest { public void testFailure_tampering(Content content) throws Exception { assumeThat(content.get().length(), is(greaterThan(100))); - Keyring keyring = new RdeKeyringModule().get(); + Keyring keyring = new FakeKeyringModule().get(); PGPPublicKey publicKey = keyring.getRdeStagingEncryptionKey(); PGPPrivateKey privateKey = keyring.getRdeStagingDecryptionKey(); byte[] data = content.get().getBytes(UTF_8); @@ -203,7 +204,7 @@ public class GhostrydeTest { public void testFailure_corruption(Content content) throws Exception { assumeThat(content.get().length(), is(lessThan(100))); - Keyring keyring = new RdeKeyringModule().get(); + Keyring keyring = new FakeKeyringModule().get(); PGPPublicKey publicKey = keyring.getRdeStagingEncryptionKey(); PGPPrivateKey privateKey = keyring.getRdeStagingDecryptionKey(); byte[] data = content.get().getBytes(UTF_8); @@ -229,7 +230,7 @@ public class GhostrydeTest { @Test public void testFailure_keyMismatch() throws Exception { - RdeKeyringModule keyringModule = new RdeKeyringModule(); + FakeKeyringModule keyringModule = new FakeKeyringModule(); byte[] data = "Fanatics have their dreams, wherewith they weave.".getBytes(UTF_8); DateTime mtime = DateTime.parse("1984-12-18T00:30:00Z"); PGPKeyPair dsa1 = keyringModule.get("rde-unittest@registry.test", ENCRYPT); @@ -257,7 +258,7 @@ public class GhostrydeTest { @Test @Ignore("Intentionally corrupting a PGP key is easier said than done >_>") public void testFailure_keyCorruption() throws Exception { - RdeKeyringModule keyringModule = new RdeKeyringModule(); + FakeKeyringModule keyringModule = new FakeKeyringModule(); byte[] data = "Fanatics have their dreams, wherewith they weave.".getBytes(UTF_8); DateTime mtime = DateTime.parse("1984-12-18T00:30:00Z"); PGPKeyPair rsa = keyringModule.get("rde-unittest@registry.test", ENCRYPT); diff --git a/javatests/google/registry/rde/RdeReportActionTest.java b/javatests/google/registry/rde/RdeReportActionTest.java index 1ffab599d..75da26bfe 100644 --- a/javatests/google/registry/rde/RdeReportActionTest.java +++ b/javatests/google/registry/rde/RdeReportActionTest.java @@ -51,6 +51,7 @@ import google.registry.testing.AppEngineRule; import google.registry.testing.BouncyCastleProviderRule; import google.registry.testing.ExceptionRule; import google.registry.testing.FakeClock; +import google.registry.testing.FakeKeyringModule; import google.registry.testing.FakeResponse; import google.registry.testing.FakeSleeper; import google.registry.util.Retrier; @@ -113,14 +114,14 @@ public class RdeReportActionTest { action.interval = standardDays(1); action.reporter = reporter; action.timeout = standardSeconds(30); - action.stagingDecryptionKey = new RdeKeyringModule().get().getRdeStagingDecryptionKey(); + action.stagingDecryptionKey = new FakeKeyringModule().get().getRdeStagingDecryptionKey(); action.runner = runner; return action; } @Before public void before() throws Exception { - PGPPublicKey encryptKey = new RdeKeyringModule().get().getRdeStagingEncryptionKey(); + PGPPublicKey encryptKey = new FakeKeyringModule().get().getRdeStagingEncryptionKey(); createTld("test"); persistResource( Cursor.create(CursorType.RDE_REPORT, DateTime.parse("2006-06-06TZ"), Registry.get("test"))); diff --git a/javatests/google/registry/rde/RdeStagingActionTest.java b/javatests/google/registry/rde/RdeStagingActionTest.java index a291e5425..f2c1307c2 100644 --- a/javatests/google/registry/rde/RdeStagingActionTest.java +++ b/javatests/google/registry/rde/RdeStagingActionTest.java @@ -49,6 +49,7 @@ import google.registry.model.ofy.Ofy; import google.registry.model.registry.Registry; import google.registry.request.RequestParameters; import google.registry.testing.FakeClock; +import google.registry.testing.FakeKeyringModule; import google.registry.testing.FakeResponse; import google.registry.testing.InjectRule; import google.registry.testing.TaskQueueHelper.TaskMatcher; @@ -110,7 +111,7 @@ public class RdeStagingActionTest extends MapreduceTestCase { @BeforeClass public static void beforeClass() { - try (Keyring keyring = new RdeKeyringModule().get()) { + try (Keyring keyring = new FakeKeyringModule().get()) { encryptKey = keyring.getRdeStagingEncryptionKey(); decryptKey = keyring.getRdeStagingDecryptionKey(); } diff --git a/javatests/google/registry/rde/RdeUploadActionTest.java b/javatests/google/registry/rde/RdeUploadActionTest.java index bc0c9bc4a..8f5a5ce41 100644 --- a/javatests/google/registry/rde/RdeUploadActionTest.java +++ b/javatests/google/registry/rde/RdeUploadActionTest.java @@ -63,6 +63,7 @@ import google.registry.testing.AppEngineRule; import google.registry.testing.BouncyCastleProviderRule; import google.registry.testing.ExceptionRule; import google.registry.testing.FakeClock; +import google.registry.testing.FakeKeyringModule; import google.registry.testing.FakeResponse; import google.registry.testing.FakeSleeper; import google.registry.testing.GpgSystemCommandRule; @@ -183,7 +184,7 @@ public class RdeUploadActionTest { }}; private RdeUploadAction createAction(URI uploadUrl) { - try (Keyring keyring = new RdeKeyringModule().get()) { + try (Keyring keyring = new FakeKeyringModule().get()) { RdeUploadAction action = new RdeUploadAction(); action.clock = clock; action.gcsUtils = new GcsUtils(gcsService, BUFFER_SIZE); @@ -230,7 +231,7 @@ public class RdeUploadActionTest { @Before public void before() throws Exception { createTld("tld"); - PGPPublicKey encryptKey = new RdeKeyringModule().get().getRdeStagingEncryptionKey(); + PGPPublicKey encryptKey = new FakeKeyringModule().get().getRdeStagingEncryptionKey(); writeGcsFile(gcsService, GHOSTRYDE_FILE, Ghostryde.encode(DEPOSIT_XML.read(), encryptKey, "lobster.xml", clock.nowUtc())); writeGcsFile(gcsService, GHOSTRYDE_R1_FILE, diff --git a/javatests/google/registry/rde/RydeGpgIntegrationTest.java b/javatests/google/registry/rde/RydeGpgIntegrationTest.java index 37bd3bb5b..d443d2bf9 100644 --- a/javatests/google/registry/rde/RydeGpgIntegrationTest.java +++ b/javatests/google/registry/rde/RydeGpgIntegrationTest.java @@ -24,6 +24,7 @@ import static org.junit.Assume.assumeTrue; import com.google.common.io.CharStreams; import google.registry.keyring.api.Keyring; import google.registry.testing.BouncyCastleProviderRule; +import google.registry.testing.FakeKeyringModule; import google.registry.testing.GpgSystemCommandRule; import google.registry.testing.Providers; import google.registry.testing.ShardableTestCase; @@ -60,7 +61,7 @@ public class RydeGpgIntegrationTest extends ShardableTestCase { RdeTestData.get("pgp-public-keyring.asc"), RdeTestData.get("pgp-private-keyring-escrow.asc")); - private final RdeKeyringModule keyringFactory = new RdeKeyringModule(); + private final FakeKeyringModule keyringFactory = new FakeKeyringModule(); @DataPoints public static GpgCommand[] commands = new GpgCommand[] { diff --git a/javatests/google/registry/testing/BUILD b/javatests/google/registry/testing/BUILD index 48ead12be..cbb49cab2 100644 --- a/javatests/google/registry/testing/BUILD +++ b/javatests/google/registry/testing/BUILD @@ -18,12 +18,13 @@ java_library( "logging.properties", "//java/google/registry:env/common/default/WEB-INF/datastore-indexes.xml", "//java/google/registry:env/common/default/WEB-INF/queue.xml", - ] + glob(["*.csv"]), + ] + glob(["*.csv"]) + glob(["testdata/*"]), deps = [ "//java/google/registry/config", "//java/google/registry/dns:constants", "//java/google/registry/dns/writer", "//java/google/registry/flows", + "//java/google/registry/keyring/api", "//java/google/registry/model", "//java/google/registry/pricing", "//java/google/registry/request", @@ -38,6 +39,7 @@ java_library( "@com_google_appengine_tools_sdk", "@com_google_auto_value", "@com_google_code_findbugs_jsr305", + "@com_google_dagger", "@com_google_guava", "@com_google_guava_testlib", "@com_google_truth", diff --git a/javatests/google/registry/rde/RdeKeyringModule.java b/javatests/google/registry/testing/FakeKeyringModule.java similarity index 76% rename from javatests/google/registry/rde/RdeKeyringModule.java rename to javatests/google/registry/testing/FakeKeyringModule.java index b150a61e9..47e014894 100644 --- a/javatests/google/registry/rde/RdeKeyringModule.java +++ b/javatests/google/registry/testing/FakeKeyringModule.java @@ -12,10 +12,12 @@ // See the License for the specific language governing permissions and // limitations under the License. -package google.registry.rde; +package google.registry.testing; import static google.registry.keyring.api.PgpHelper.KeyRequirement.ENCRYPT; import static google.registry.keyring.api.PgpHelper.KeyRequirement.SIGN; +import static google.registry.util.ResourceUtils.readResourceBytes; +import static google.registry.util.ResourceUtils.readResourceUtf8; import com.google.common.io.ByteSource; import dagger.Module; @@ -36,20 +38,24 @@ import org.bouncycastle.openpgp.PGPUtil; import org.bouncycastle.openpgp.bc.BcPGPPublicKeyRingCollection; import org.bouncycastle.openpgp.bc.BcPGPSecretKeyRingCollection; -/** Keyring factory that loads keys {@code javatests/.../rde/testdata} */ +/** Keyring factory that loads keys from {@code javatests/.../testing/testdata} */ @Module @Immutable -public final class RdeKeyringModule { +public final class FakeKeyringModule { - static final String STAGING_KEY_EMAIL = "rde-unittest@registry.test"; - static final String SIGNING_KEY_EMAIL = "rde-unittest@registry.test"; - static final String RECEIVER_KEY_EMAIL = "rde-unittest@escrow.test"; - static final ByteSource PGP_PUBLIC_KEYRING = RdeTestData.get("pgp-public-keyring.asc"); - static final ByteSource PGP_PRIVATE_KEYRING = RdeTestData.get("pgp-private-keyring-registry.asc"); - static final String ICANN_REPORTING_PASSWORD = "yolo"; - static final String MARKSDB_DNL_LOGIN = "dnl:yolo"; - static final String MARKSDB_LORDN_PASSWORD = "yolo"; - static final String MARKSDB_SMDRL_LOGIN = "smdrl:yolo"; + private static final String STAGING_KEY_EMAIL = "rde-unittest@registry.test"; + private static final String SIGNING_KEY_EMAIL = "rde-unittest@registry.test"; + private static final String RECEIVER_KEY_EMAIL = "rde-unittest@escrow.test"; + private static final ByteSource PGP_PUBLIC_KEYRING = + readResourceBytes(FakeKeyringModule.class, "testdata/pgp-public-keyring.asc"); + private static final ByteSource PGP_PRIVATE_KEYRING = + readResourceBytes(FakeKeyringModule.class, "testdata/pgp-private-keyring-registry.asc"); + private static final String ICANN_REPORTING_PASSWORD = "yolo"; + private static final String MARKSDB_DNL_LOGIN = "dnl:yolo"; + private static final String MARKSDB_LORDN_PASSWORD = "yolo"; + private static final String MARKSDB_SMDRL_LOGIN = "smdrl:yolo"; + private static final String BRAINTREE_PRIVATE_KEY = "braintree123"; + private static final String JSON_CREDENTIAL = "json123"; @Provides public Keyring get() { @@ -72,14 +78,11 @@ public final class RdeKeyringModule { PgpHelper.lookupPublicKey(publics, RECEIVER_KEY_EMAIL, ENCRYPT); final PGPKeyPair brdaSigningKey = rdeSigningKey; final PGPPublicKey brdaReceiverKey = rdeReceiverKey; - final String sshPublic; - final String sshPrivate; - try { - sshPublic = RdeTestData.loadUtf8("registry-unittest.id_rsa.pub"); - sshPrivate = RdeTestData.loadUtf8("registry-unittest.id_rsa"); - } catch (IOException e) { - throw new RuntimeException("Failed to load SSH keys from jar", e); - } + final String sshPublic = + readResourceUtf8(FakeKeyringModule.class, "testdata/registry-unittest.id_rsa.pub"); + final String sshPrivate = + readResourceUtf8(FakeKeyringModule.class, "testdata/registry-unittest.id_rsa"); + return new Keyring() { @Override public PGPPublicKey getRdeStagingEncryptionKey() { @@ -128,7 +131,7 @@ public final class RdeKeyringModule { @Override public String getJsonCredential() { - throw new UnsupportedOperationException(); + return JSON_CREDENTIAL; } @Override @@ -148,7 +151,7 @@ public final class RdeKeyringModule { @Override public String getBraintreePrivateKey() { - throw new UnsupportedOperationException(); + return BRAINTREE_PRIVATE_KEY; } @Override diff --git a/javatests/google/registry/testing/testdata/pgp-private-keyring-registry.asc b/javatests/google/registry/testing/testdata/pgp-private-keyring-registry.asc new file mode 100644 index 000000000..318ce4bc2 --- /dev/null +++ b/javatests/google/registry/testing/testdata/pgp-private-keyring-registry.asc @@ -0,0 +1,98 @@ +gpg -a --export-secret-keys --export-options export-minimal \ + rde-unittest@registry.test \ + rde-unittest-dsa@registry.test \ + >javatests/google/registry/rde/testdata/pgp-private-keyring-registry.asc + +-----BEGIN PGP PRIVATE KEY BLOCK----- +Version: GnuPG v1 + +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 +kHxazkNY+efXplQRmTjglkXndzvqkGHsV6c7AQDlwWNdwSvQGc5RL16gTA9A3T+p +VtFV62mVHdoh24/H4Qf7BJq2nL0jVgC2yQq6U/1Mbq8Stq/WrJEdn/SGAHoQG712 +ipR251t8hb7UWdtrT9LCSHNXGJsVURhL+RivQ1LzU99SRM7rRYBG45GlvnMiN3Y7 +v+RH61T0d1HBr9YXq/H64QxmUge/9svSKtQQHzzaLNvyvnX1iVWfp+ttex9Dsme2 +7BkP5zhc0vQ2NgLP96kvQoaXs2LxMwR1JPiCFo8Y5rUPrR2v2ieETMxAXYJGB8HO +1EQGqEp6Fd3KwK75bx6Q/BRVq9AyyDPWdsnxnzM+L8kcJvzRPS457RmicOcHhkE2 +FhWraW9PhV7jB5SzF2Q/msFGeQ6wrfht3lF675EbBggAh/28GoI5ryVZRbhwj2fV +7h8MmwWj2G8T/gt3lu0SEvm0/kpChJxF6hmyQLq/6tZITEVjqUCmFuta1plbANDt +Cu+8Jmw3NVRk9iTbrYZc9fytfjROi98si5eimvMEiwKv53MreIqyX7THHw1FXlFa +RDzez3zspmuOO+534APA3mVyuDtT4/3K35mBDwVqcykbQRBM8/nZhS6vrXNwkPp4 +PhkN/Q9Ethfe6y1w9uHa9UshT0/tAguzas8d8ve+UmpmXqd1G60/mbWDMiLnJfFJ +H7fCz7EAZ37r99Ss1Z+l/wF3XUaIJ4UiV/3i1T3COCZaF5rjqdv1oEy+555/r5Mv +0gABAJJg1dR1x4xjstvehkDP6Gm0G27gGXdcwEj2VCvlGgO8EVy0L0pvbmF0aGFu +IFN3aWZ0IDxyZGUtdW5pdHRlc3QtZHNhQHJlZ2lzdHJ5LnRlc3Q+iHoEExEIACIF +AlUj/0gCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEJ6mQpZ89XyKn+gB +AK91twI+kyFHwBcg+8E5fsai63ZfJsusASeNvtWhMhavAQC+kNNqO1KrDdczgcLu +X3bQCJG3gOzo6iq/3zC723HPHp0CPQRVI/9IEAgA5QrYsEpUuMBdfyod0D1VPetE +FBZ+T3sT3FXW/cpijeSl2OKYJIColhnLo3Etld8zNmJ6td27onEhjOFvT2rsBMs5 +DLX4b7avXiRqTFUXi+qPLyI8iGyPaWjlmGNhED07egCVesM2t4gN+46IE0PztIDR +Uy1SdHp8bwnAEdlud5T4VZgGmFXI9s+4nrjdnm532XBLa8w03xSzDYq5B4T/5F/J +qDSz//p6aqrUonMYHr2PCp0xaHM+Q34m+jR1cqvQQJxBvcEBiNNZJuh23w1wNB/v +M2cI/LJTrCKIHVLRfy7NJVQPhqkgnJeVT4Bnzsy7LLKCzKuG7He2Ecf9L5TspwAE +DQf8DMnCuEbWss+H9KK0h/Xwi3Ftbp/tnOaynUyp7dOULGnlZ+5nioTiwvW0jRfN +AP86OIDP8zztahFXH9PuOCtQ2rR7VbUUaohafsvX3Cn6+5ITjA7kzINa+Uc1eKsi +Bn1ze6rT5E7svLUxT+9N/0d0OCcjCf3aLfJggOHYws8PwDdhbYKPeX082t64BAsM +6UViv0ZiNUL4zj0Q5PUO1tWDvVZ3x9k/gHbi1vS/2+U6sMYhP/gh7/L//du0ty/v +5mOLkBKIyKWltfLRDcvfu12pKMcZBhj3iIPoTduC22PNjIV+YXdW6lOx32pz9Yvj +tYNmeeWb/n2w6D8iZUsw1s94uwABUgKn70aB8/FKhyqC+RkhdycbGYdnl+JJX/Aj +F4QI+pjW0h5Yf1hM66q699YVzIhhBBgRCAAJBQJVI/9IAhsMAAoJEJ6mQpZ89XyK +itEA/1F7PMm1HyJxb6DXxRaBbsIL3sVm3OjK5XGuoyjSltsmAQCdIMfGn9ArSsEo +Euhilp9DguZPtN4dIl56gnM8abR0rQ== +=+pjN +-----END PGP PRIVATE KEY BLOCK----- diff --git a/javatests/google/registry/testing/testdata/pgp-public-keyring.asc b/javatests/google/registry/testing/testdata/pgp-public-keyring.asc new file mode 100644 index 000000000..4ac258a5d --- /dev/null +++ b/javatests/google/registry/testing/testdata/pgp-public-keyring.asc @@ -0,0 +1,95 @@ +gpg -a --export --export-options export-minimal \ + rde-unittest@registry.test \ + rde-unittest-dsa@registry.test \ + rde-unittest@escrow.test \ + >javatests/google/registry/rde/testdata/pgp-public-keyring.asc + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1 + +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 +zInfxrmYRlOExWEu5eg9EAI= +=60ZZ +-----END PGP PUBLIC KEY BLOCK----- diff --git a/javatests/google/registry/testing/testdata/registry-unittest.id_rsa b/javatests/google/registry/testing/testdata/registry-unittest.id_rsa new file mode 100644 index 000000000..15ee8c158 --- /dev/null +++ b/javatests/google/registry/testing/testdata/registry-unittest.id_rsa @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEA2nxjZ7/6KtbjOHw0xdhegnejeO86s48MlLBWOHTOZS3q7S5k +ttKeF7MZvjzwtqrs1bPP44HQV5LfeLz/aq5YLpsh19rY/ybVhghE93JbNnA3OWGk +FvuoVDR8j0KvidEVXeXwWnbXTAUtB9sXE2fuFT6WrWsz8oOJslNo8MUpjSK7Cks8 +d6YbAK4+vDeHk7pR8o2E05+gg2Mln6tIXgoaKNSh85xOuZ6LB9gGSNp/D83a1i/2 +Z6uP9xm68mNll4n678a1A6Rp0qDd5i08Mupsc1yQ59IlopAfdartJbp7rjWHxbBc +IrQREBOb9maoWiXJG00viSgvSq6EcnAL2rYVRwIDAQABAoIBAQCsmmP1jKZXvZeY +Ahe2zO4s59MPMP8Q50urE3up8i0zpYjYgzQxckZOtsD5ly8bQAEF+p2bP+yVooRE +4Bpv7vffKdMcsdmICOfakSHa0k7YvOIDxO1a8sjSbPySOL5wg+r7WTH+ZbBEcDpY +4G5keFCQG/fxXKWXSu83H8nhnADtazJ6wN6EANiTz+7Xc3Innl3ZCd2v6B7Ew/yi +E5x/9HFR7HSZNz/bdjbSOjL9ylE9bwQqSQ5FcWbTjtMLS2IrcHEqKbzVY3dLlHpG +MnPJnk4ShXaLOqx+w7b24QF+xkPjCU3XKd46rRYEEa/bev1MFiovaWoKCo0Q3wio +69X1vTYBAoGBAPgNTq899fn6DeOlhV3VOazr/Gt3+OZbmaboW4VihkHNIV4DEvN2 +4njRBcr5w/MXMtVfS53FmIRtWhpUIWJVJmXBPM0UCjph4WVNFOIkYz9zFjL+yCn4 +/tBU4iFzbXun7GCtSWbSaLLWFHCSSz08ygw5c6OUeDHYxjo0+GQln5THAoGBAOF8 +j0AsvwyAr3ka790CVFqVTE6A2usubclACZr0EuAR5hVDtv1R/kSCEo3xTY4PF5jE +OpYrs/1IeNuYraOJ0K/CwzBWr2TlWhGR18GL0qk78r0y1eiCiL8XA5g5gZZVPBW3 +wdKXGBbpCTADbT9FVTgzqiGKoitfeTo61Z4HK/uBAoGAbPqjvDgzrmze10osSupY +GZHgZ3LhJovN+NeTBgogRB6Ub1JYbCCqJTxoGCIdpdpmWfoxJZLfjCbi9DhMJoCU +ixYX2V3ZlIbWWQRBjY1BEWpFsYfgdxhPE0aHxvyIeFBxeJQJcKQ2nYOSnVaYucHQ +XwiKtq6PFA9SH9aP3qfs8ZcCgYAYHz4n7GGH0eBzwTj12MDza9Nc9pX04OOnyuz8 +Ia4/QErv7W2PDg14gL3BZ5YXY2/vzNZDqGs55l3fiCbTPvQPSXOeITfkQFDxXjvJ +nc6sghhGu0B8/jHo12pwB37geT/TRvQ6NiXCla2A8Gzoft9OAuDpc65Dm5QZcZ/W +pwfCgQKBgQDanzLp3c2XwTmkgK+k0hHWboshbr/o6RfJvWJKt9Y1+//2CuMf7vdT +Z8PQN64ZCPBoqhJ+q1jRFmDsmmG0iqvwDPt5qFaBR5tyXP3I0j9Ncmmr+ktJWhRb +fAopn6a138GL3j7yRVDP0NS7B7AsjWTWtjVeUd7cepwPYSqx9jDnTw== +-----END RSA PRIVATE KEY----- diff --git a/javatests/google/registry/testing/testdata/registry-unittest.id_rsa.pub b/javatests/google/registry/testing/testdata/registry-unittest.id_rsa.pub new file mode 100644 index 000000000..e2b51a13d --- /dev/null +++ b/javatests/google/registry/testing/testdata/registry-unittest.id_rsa.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDafGNnv/oq1uM4fDTF2F6Cd6N47zqzjwyUsFY4dM5lLertLmS20p4Xsxm+PPC2quzVs8/jgdBXkt94vP9qrlgumyHX2tj/JtWGCET3cls2cDc5YaQW+6hUNHyPQq+J0RVd5fBadtdMBS0H2xcTZ+4VPpatazPyg4myU2jwxSmNIrsKSzx3phsArj68N4eTulHyjYTTn6CDYyWfq0heChoo1KHznE65nosH2AZI2n8PzdrWL/Znq4/3GbryY2WXifrvxrUDpGnSoN3mLTwy6mxzXJDn0iWikB91qu0lunuuNYfFsFwitBEQE5v2ZqhaJckbTS+JKC9KroRycAvathVH rde-unittest@registry.test diff --git a/javatests/google/registry/tools/EncryptEscrowDepositCommandTest.java b/javatests/google/registry/tools/EncryptEscrowDepositCommandTest.java index a515dcf64..0e425b262 100644 --- a/javatests/google/registry/tools/EncryptEscrowDepositCommandTest.java +++ b/javatests/google/registry/tools/EncryptEscrowDepositCommandTest.java @@ -19,7 +19,6 @@ import static google.registry.util.ResourceUtils.readResourceBytes; import com.google.common.io.ByteSource; import com.google.common.io.Files; -import google.registry.rde.RdeKeyringModule; import google.registry.rde.RdeTestData; import google.registry.rde.RydePgpCompressionOutputStreamFactory; import google.registry.rde.RydePgpEncryptionOutputStreamFactory; @@ -27,6 +26,7 @@ import google.registry.rde.RydePgpFileOutputStreamFactory; import google.registry.rde.RydePgpSigningOutputStreamFactory; import google.registry.rde.RydeTarOutputStreamFactory; import google.registry.testing.BouncyCastleProviderRule; +import google.registry.testing.FakeKeyringModule; import google.registry.testing.Providers; import java.io.File; import org.junit.Before; @@ -50,8 +50,8 @@ public class EncryptEscrowDepositCommandTest res.pgpFileFactory = new RydePgpFileOutputStreamFactory(Providers.of(1024)); res.pgpSigningFactory = new RydePgpSigningOutputStreamFactory(); res.tarFactory = new RydeTarOutputStreamFactory(); - res.rdeReceiverKey = new RdeKeyringModule().get().getRdeReceiverKey(); - res.rdeSigningKey = new RdeKeyringModule().get().getRdeSigningKey(); + res.rdeReceiverKey = new FakeKeyringModule().get().getRdeReceiverKey(); + res.rdeSigningKey = new FakeKeyringModule().get().getRdeSigningKey(); return res; } diff --git a/javatests/google/registry/tools/GhostrydeCommandTest.java b/javatests/google/registry/tools/GhostrydeCommandTest.java index d3850bb3c..65b3545cb 100644 --- a/javatests/google/registry/tools/GhostrydeCommandTest.java +++ b/javatests/google/registry/tools/GhostrydeCommandTest.java @@ -20,8 +20,8 @@ import static java.nio.charset.StandardCharsets.UTF_8; import google.registry.keyring.api.Keyring; import google.registry.rde.Ghostryde; import google.registry.rde.Ghostryde.DecodeResult; -import google.registry.rde.RdeKeyringModule; import google.registry.testing.BouncyCastleProviderRule; +import google.registry.testing.FakeKeyringModule; import google.registry.testing.InjectRule; import java.nio.file.Files; import java.nio.file.Path; @@ -65,7 +65,7 @@ public class GhostrydeCommandTest extends CommandTestCase { @Before public void before() throws Exception { - keyring = new RdeKeyringModule().get(); + keyring = new FakeKeyringModule().get(); command.ghostryde = new Ghostryde(1024); command.rdeStagingDecryptionKey = keyring.getRdeStagingDecryptionKey(); command.rdeStagingEncryptionKey = keyring.getRdeStagingEncryptionKey();