From a2b6b426ae851b1dcc54337987694ef65981985d Mon Sep 17 00:00:00 2001 From: Bjørn Christian Seime Date: Fri, 23 Aug 2019 13:48:49 +0200 Subject: Refactor private key serialization tests --- .../test/java/com/yahoo/security/KeyUtilsTest.java | 42 ++++++++-------------- 1 file changed, 14 insertions(+), 28 deletions(-) (limited to 'security-utils/src') diff --git a/security-utils/src/test/java/com/yahoo/security/KeyUtilsTest.java b/security-utils/src/test/java/com/yahoo/security/KeyUtilsTest.java index 58d72043ca5..8a1c72b1e59 100644 --- a/security-utils/src/test/java/com/yahoo/security/KeyUtilsTest.java +++ b/security-utils/src/test/java/com/yahoo/security/KeyUtilsTest.java @@ -33,46 +33,22 @@ public class KeyUtilsTest { @Test public void can_serialize_and_deserialize_rsa_privatekey_using_pkcs1_pem_format() { - KeyPair keyPair = KeyUtils.generateKeypair(KeyAlgorithm.RSA); - String pem = KeyUtils.toPem(keyPair.getPrivate(), KeyFormat.PKCS1); - assertThat(pem, containsString("BEGIN RSA PRIVATE KEY")); - assertThat(pem, containsString("END RSA PRIVATE KEY")); - PrivateKey deserializedKey = KeyUtils.fromPemEncodedPrivateKey(pem); - assertEquals(keyPair.getPrivate(), deserializedKey); - assertEquals(KeyAlgorithm.RSA.getAlgorithmName(), deserializedKey.getAlgorithm()); + testPrivateKeySerialization(KeyAlgorithm.RSA, KeyFormat.PKCS1, "RSA PRIVATE KEY"); } @Test public void can_serialize_and_deserialize_rsa_privatekey_using_pkcs8_pem_format() { - KeyPair keyPair = KeyUtils.generateKeypair(KeyAlgorithm.RSA); - String pem = KeyUtils.toPem(keyPair.getPrivate(), KeyFormat.PKCS8); - assertThat(pem, containsString("BEGIN PRIVATE KEY")); - assertThat(pem, containsString("END PRIVATE KEY")); - PrivateKey deserializedKey = KeyUtils.fromPemEncodedPrivateKey(pem); - assertEquals(keyPair.getPrivate(), deserializedKey); - assertEquals(KeyAlgorithm.RSA.getAlgorithmName(), deserializedKey.getAlgorithm()); + testPrivateKeySerialization(KeyAlgorithm.RSA, KeyFormat.PKCS8, "PRIVATE KEY"); } @Test public void can_serialize_and_deserialize_ec_privatekey_using_pkcs1_pem_format() { - KeyPair keyPair = KeyUtils.generateKeypair(KeyAlgorithm.EC); - String pem = KeyUtils.toPem(keyPair.getPrivate(), KeyFormat.PKCS1); - assertThat(pem, containsString("BEGIN EC PRIVATE KEY")); - assertThat(pem, containsString("END EC PRIVATE KEY")); - PrivateKey deserializedKey = KeyUtils.fromPemEncodedPrivateKey(pem); - assertEquals(keyPair.getPrivate(), deserializedKey); - assertEquals(KeyAlgorithm.EC.getAlgorithmName(), deserializedKey.getAlgorithm()); + testPrivateKeySerialization(KeyAlgorithm.EC, KeyFormat.PKCS1, "EC PRIVATE KEY"); } @Test public void can_serialize_and_deserialize_ec_privatekey_using_pkcs8_pem_format() { - KeyPair keyPair = KeyUtils.generateKeypair(KeyAlgorithm.EC); - String pem = KeyUtils.toPem(keyPair.getPrivate(), KeyFormat.PKCS8); - assertThat(pem, containsString("BEGIN PRIVATE KEY")); - assertThat(pem, containsString("END PRIVATE KEY")); - PrivateKey deserializedKey = KeyUtils.fromPemEncodedPrivateKey(pem); - assertEquals(keyPair.getPrivate(), deserializedKey); - assertEquals(KeyAlgorithm.EC.getAlgorithmName(), deserializedKey.getAlgorithm()); + testPrivateKeySerialization(KeyAlgorithm.EC, KeyFormat.PKCS8, "PRIVATE KEY"); } @Test @@ -97,4 +73,14 @@ public class KeyUtilsTest { assertEquals(KeyAlgorithm.EC.getAlgorithmName(), deserializedKey.getAlgorithm()); } + private static void testPrivateKeySerialization(KeyAlgorithm keyAlgorithm, KeyFormat keyFormat, String pemLabel) { + KeyPair keyPair = KeyUtils.generateKeypair(keyAlgorithm); + String pem = KeyUtils.toPem(keyPair.getPrivate(), keyFormat); + assertThat(pem, containsString("BEGIN " + pemLabel)); + assertThat(pem, containsString("END " + pemLabel)); + PrivateKey deserializedKey = KeyUtils.fromPemEncodedPrivateKey(pem); + assertEquals(keyPair.getPrivate(), deserializedKey); + assertEquals(keyAlgorithm.getAlgorithmName(), deserializedKey.getAlgorithm()); + } + } -- cgit v1.2.3