From 96d660ad3ac426ccc3d452d644f46fe41aa5af9b Mon Sep 17 00:00:00 2001 From: Max Lambrecht Date: Tue, 23 Jun 2020 19:12:29 -0300 Subject: [PATCH] Refactor string literals by enum. Signed-off-by: Max Lambrecht --- .../java/io/spiffe/internal/CertificateUtils.java | 6 ++++-- .../io/spiffe/internal/PrivateKeyAlgorithm.java | 15 +++++++++++++-- .../io/spiffe/internal/CertificateUtilsTest.java | 5 +++-- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/java-spiffe-core/src/main/java/io/spiffe/internal/CertificateUtils.java b/java-spiffe-core/src/main/java/io/spiffe/internal/CertificateUtils.java index 4a8d114..61cc0e6 100644 --- a/java-spiffe-core/src/main/java/io/spiffe/internal/CertificateUtils.java +++ b/java-spiffe-core/src/main/java/io/spiffe/internal/CertificateUtils.java @@ -36,6 +36,8 @@ import java.util.stream.Collectors; import static io.spiffe.internal.KeyUsage.CRL_SIGN; import static io.spiffe.internal.KeyUsage.DIGITAL_SIGNATURE; import static io.spiffe.internal.KeyUsage.KEY_CERT_SIGN; +import static io.spiffe.internal.PrivateKeyAlgorithm.EC; +import static io.spiffe.internal.PrivateKeyAlgorithm.RSA; import static org.apache.commons.lang3.StringUtils.startsWith; /** @@ -233,10 +235,10 @@ public class CertificateUtils { PrivateKey privateKey; switch (algorithm) { case EC: - privateKey = KeyFactory.getInstance("EC").generatePrivate(keySpec); + privateKey = KeyFactory.getInstance(EC.value()).generatePrivate(keySpec); break; case RSA: - privateKey = KeyFactory.getInstance("RSA").generatePrivate(keySpec); + privateKey = KeyFactory.getInstance(RSA.value()).generatePrivate(keySpec); break; default: throw new NoSuchAlgorithmException(String.format("Private Key algorithm is not supported: %s", algorithm)); diff --git a/java-spiffe-core/src/main/java/io/spiffe/internal/PrivateKeyAlgorithm.java b/java-spiffe-core/src/main/java/io/spiffe/internal/PrivateKeyAlgorithm.java index 725e814..81e23bc 100644 --- a/java-spiffe-core/src/main/java/io/spiffe/internal/PrivateKeyAlgorithm.java +++ b/java-spiffe-core/src/main/java/io/spiffe/internal/PrivateKeyAlgorithm.java @@ -1,8 +1,19 @@ package io.spiffe.internal; public enum PrivateKeyAlgorithm { - RSA, - EC; + + RSA("RSA"), + EC("EC"); + + private final String value; + + PrivateKeyAlgorithm(final String value) { + this.value = value; + } + + public String value() { + return value; + } public static PrivateKeyAlgorithm parse(String a) { if ("RSA".equalsIgnoreCase(a)) { diff --git a/java-spiffe-core/src/test/java/io/spiffe/internal/CertificateUtilsTest.java b/java-spiffe-core/src/test/java/io/spiffe/internal/CertificateUtilsTest.java index 0806cdc..9cfe387 100644 --- a/java-spiffe-core/src/test/java/io/spiffe/internal/CertificateUtilsTest.java +++ b/java-spiffe-core/src/test/java/io/spiffe/internal/CertificateUtilsTest.java @@ -23,6 +23,7 @@ import java.security.spec.InvalidKeySpecException; import java.util.Arrays; import java.util.List; +import static io.spiffe.internal.PrivateKeyAlgorithm.RSA; import static io.spiffe.utils.X509CertificateTestUtils.createCertificate; import static io.spiffe.utils.X509CertificateTestUtils.createRootCA; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -73,9 +74,9 @@ public class CertificateUtilsTest { val keyBytes = Files.readAllBytes(keyPath); try { - PrivateKey privateKey = CertificateUtils.generatePrivateKey(keyBytes, PrivateKeyAlgorithm.RSA, KeyFileFormat.PEM); + PrivateKey privateKey = CertificateUtils.generatePrivateKey(keyBytes, RSA, KeyFileFormat.PEM); assertNotNull(privateKey); - assertEquals("RSA", privateKey.getAlgorithm()); + assertEquals(RSA.value(), privateKey.getAlgorithm()); } catch (InvalidKeySpecException | InvalidKeyException | NoSuchAlgorithmException e) { fail("Should have generated key", e); }