@@ -57,12 +57,15 @@ public class EcKeyLoader implements KeyLoader {
5757
5858 private final KeyFactory keyFactory ;
5959
60+ private final Base64 .Decoder decoder ;
61+
6062 /**
6163 * Initialise a key loader for EC-based algorithms.
6264 */
6365 public EcKeyLoader () {
6466 try {
6567 this .keyFactory = KeyFactory .getInstance ("EC" );
68+ this .decoder = Base64 .getDecoder ();
6669 } catch (NoSuchAlgorithmException e ) {
6770 throw new KeyLoadingException (e );
6871 }
@@ -84,7 +87,7 @@ public ECPrivateKey loadPrivateKey(String pemKeyText) {
8487 .replaceAll ("-----BEGIN (EC )?PRIVATE KEY-----" , "" )
8588 .replaceAll ("-----END (EC )?PRIVATE KEY-----" , "" )
8689 .replaceAll ("\n " , "" );
87- var decodedKeyString = Base64 . getDecoder () .decode (pemKeyText );
90+ var decodedKeyString = decoder .decode (pemKeyText );
8891 var keySpec = new PKCS8EncodedKeySpec (decodedKeyString );
8992
9093 var _key = keyFactory .generatePrivate (keySpec );
@@ -114,7 +117,7 @@ public ECPublicKey loadPublicKey(String pemKeyText) {
114117 .replaceAll ("-----BEGIN (EC )?PUBLIC KEY-----" , "" )
115118 .replaceAll ("-----END (EC )?PUBLIC KEY-----" , "" )
116119 .replaceAll ("\n " , "" );
117- var keyBytes = Base64 . getDecoder () .decode (pemKeyText );
120+ var keyBytes = decoder .decode (pemKeyText );
118121 var spec = new X509EncodedKeySpec (keyBytes );
119122 var key = keyFactory .generatePublic (spec );
120123 if (key instanceof ECPublicKey publicKey ) {
0 commit comments