From e6ea97ec04e34ce2a25986dd82ac024eb645fd5f Mon Sep 17 00:00:00 2001 From: Lukas Schmitt Date: Wed, 13 Aug 2025 17:45:05 +0200 Subject: [PATCH] Fix 'missing provider' exception for KeyStoreTypes which do not have specific provider e.g. using PKCS#12 keystore for signing --- .../src/main/java/net/jsign/jca/JsignJcaProvider.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/jsign-crypto/src/main/java/net/jsign/jca/JsignJcaProvider.java b/jsign-crypto/src/main/java/net/jsign/jca/JsignJcaProvider.java index 95b5280a..aa74627d 100644 --- a/jsign-crypto/src/main/java/net/jsign/jca/JsignJcaProvider.java +++ b/jsign-crypto/src/main/java/net/jsign/jca/JsignJcaProvider.java @@ -201,7 +201,12 @@ protected void engineInitSign(PrivateKey privateKey) throws InvalidKeyException JsignJcaPrivateKey key = (JsignJcaPrivateKey) privateKey; try { - signature = Signature.getInstance(signingAlgorithm, key.getProvider()); + Provider provider = key.getProvider(); + if (provider == null) { + signature = Signature.getInstance(signingAlgorithm); + } else { + signature = Signature.getInstance(signingAlgorithm, provider); + } } catch (NoSuchAlgorithmException e) { throw new RuntimeException(e); }