From fb8d6e34764601ba03e0ebc829118e1e9a5b1a6a Mon Sep 17 00:00:00 2001 From: zihluwang Date: Sat, 15 Feb 2025 11:00:57 +0800 Subject: [PATCH] feat: extracted Base64.Decoder --- .../main/java/com/onixbyte/security/impl/EcKeyLoader.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/key-pair-loader/src/main/java/com/onixbyte/security/impl/EcKeyLoader.java b/key-pair-loader/src/main/java/com/onixbyte/security/impl/EcKeyLoader.java index 4542c7c..b94b1f7 100644 --- a/key-pair-loader/src/main/java/com/onixbyte/security/impl/EcKeyLoader.java +++ b/key-pair-loader/src/main/java/com/onixbyte/security/impl/EcKeyLoader.java @@ -57,12 +57,15 @@ public class EcKeyLoader implements KeyLoader { private final KeyFactory keyFactory; + private final Base64.Decoder decoder; + /** * Initialise a key loader for EC-based algorithms. */ public EcKeyLoader() { try { this.keyFactory = KeyFactory.getInstance("EC"); + this.decoder = Base64.getDecoder(); } catch (NoSuchAlgorithmException e) { throw new KeyLoadingException(e); } @@ -84,7 +87,7 @@ public class EcKeyLoader implements KeyLoader { .replaceAll("-----BEGIN (EC )?PRIVATE KEY-----", "") .replaceAll("-----END (EC )?PRIVATE KEY-----", "") .replaceAll("\n", ""); - var decodedKeyString = Base64.getDecoder().decode(pemKeyText); + var decodedKeyString = decoder.decode(pemKeyText); var keySpec = new PKCS8EncodedKeySpec(decodedKeyString); var _key = keyFactory.generatePrivate(keySpec); @@ -114,7 +117,7 @@ public class EcKeyLoader implements KeyLoader { .replaceAll("-----BEGIN (EC )?PUBLIC KEY-----", "") .replaceAll("-----END (EC )?PUBLIC KEY-----", "") .replaceAll("\n", ""); - var keyBytes = Base64.getDecoder().decode(pemKeyText); + var keyBytes = decoder.decode(pemKeyText); var spec = new X509EncodedKeySpec(keyBytes); var key = keyFactory.generatePublic(spec); if (key instanceof ECPublicKey publicKey) {