diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2019-05-03 14:33:20 +0200 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2019-05-03 15:19:17 +0200 |
commit | 1715733a1242d073a354947d3a5013e8c961790d (patch) | |
tree | 4962579c9eca2679421a1ae4a61563cf5f780bcc | |
parent | 7b9663210bd6cc087ffcd6388855048a10947fb8 (diff) |
Refactor into createKeyFactory() method
-rw-r--r-- | security-utils/src/main/java/com/yahoo/security/KeyUtils.java | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/security-utils/src/main/java/com/yahoo/security/KeyUtils.java b/security-utils/src/main/java/com/yahoo/security/KeyUtils.java index fa999ee521a..307be34d0b7 100644 --- a/security-utils/src/main/java/com/yahoo/security/KeyUtils.java +++ b/security-utils/src/main/java/com/yahoo/security/KeyUtils.java @@ -24,6 +24,7 @@ import java.security.GeneralSecurityException; import java.security.KeyFactory; import java.security.KeyPair; import java.security.KeyPairGenerator; +import java.security.NoSuchAlgorithmException; import java.security.PrivateKey; import java.security.PublicKey; import java.security.interfaces.RSAPrivateCrtKey; @@ -65,12 +66,12 @@ public class KeyUtils { String algorithm = privateKey.getAlgorithm(); try { if (algorithm.equals(RSA.getAlgorithmName())) { - KeyFactory keyFactory = KeyFactory.getInstance(RSA.getAlgorithmName(), BouncyCastleProviderHolder.getInstance()); + KeyFactory keyFactory = createKeyFactory(RSA); RSAPrivateCrtKey rsaPrivateCrtKey = (RSAPrivateCrtKey) privateKey; RSAPublicKeySpec keySpec = new RSAPublicKeySpec(rsaPrivateCrtKey.getModulus(), rsaPrivateCrtKey.getPublicExponent()); return keyFactory.generatePublic(keySpec); } else if (algorithm.equals(EC.getAlgorithmName())) { - KeyFactory keyFactory = KeyFactory.getInstance(EC.getAlgorithmName(), BouncyCastleProviderHolder.getInstance()); + KeyFactory keyFactory = createKeyFactory(EC); BCECPrivateKey ecPrivateKey = (BCECPrivateKey) privateKey; ECParameterSpec ecParameterSpec = ecPrivateKey.getParameters(); ECPoint ecPoint = new FixedPointCombMultiplier().multiply(ecParameterSpec.getG(), ecPrivateKey.getD()); @@ -92,7 +93,7 @@ public class KeyUtils { if (pemObject instanceof PrivateKeyInfo) { PrivateKeyInfo keyInfo = (PrivateKeyInfo) pemObject; PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(keyInfo.getEncoded()); - return KeyFactory.getInstance(RSA.getAlgorithmName()).generatePrivate(keySpec); + return createKeyFactory(RSA).generatePrivate(keySpec); } else if (pemObject instanceof PEMKeyPair) { PEMKeyPair pemKeypair = (PEMKeyPair) pemObject; PrivateKeyInfo keyInfo = pemKeypair.getPrivateKeyInfo(); @@ -162,4 +163,8 @@ public class KeyUtils { return primitive.getEncoded(); } + private static KeyFactory createKeyFactory(KeyAlgorithm algorithm) throws NoSuchAlgorithmException { + return KeyFactory.getInstance(algorithm.getAlgorithmName(), BouncyCastleProviderHolder.getInstance()); + } + } |