From ed876a667dede50790a1ac6eb75ad7235ef60be7 Mon Sep 17 00:00:00 2001 From: Ujala Kumar Yadav Date: Mon, 18 Sep 2023 11:25:29 +0530 Subject: [PATCH] Encrypted Private Key Fix Fixed error when signing JWT with encrypted private key. Error: Unable to create OpenSSL PBDKF: PBKDF-OpenSSL SecretKeyFactory not available --- src/main/java/uk/org/mule/jwt/internal/JwtOperations.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/uk/org/mule/jwt/internal/JwtOperations.java b/src/main/java/uk/org/mule/jwt/internal/JwtOperations.java index 328e6b1..b8a5e8b 100644 --- a/src/main/java/uk/org/mule/jwt/internal/JwtOperations.java +++ b/src/main/java/uk/org/mule/jwt/internal/JwtOperations.java @@ -18,6 +18,8 @@ import org.mule.runtime.extension.api.annotation.param.Optional; import org.mule.runtime.extension.api.annotation.param.display.DisplayName; import org.mule.runtime.extension.api.exception.ModuleException; +import java.security.Security; +import org.bouncycastle.jce.provider.BouncyCastleProvider; import java.io.FileInputStream; import java.io.FileNotFoundException; @@ -57,6 +59,7 @@ else if (object instanceof PEMKeyPair) { keyInfo = keyPair.getPrivateKeyInfo(); } else if (object instanceof PEMEncryptedKeyPair) { + Security.addProvider(new BouncyCastleProvider()); PEMEncryptedKeyPair encryptedKeyPair = ((PEMEncryptedKeyPair)object); PEMDecryptorProvider provider = new JcePEMDecryptorProviderBuilder().build(config.getPassphrase().toCharArray());