This is an automated email from the ASF dual-hosted git repository.

twolf pushed a commit to branch dev_3.0
in repository https://gitbox.apache.org/repos/asf/mina-sshd.git

commit f7fd089956149c1f77eaed2d4819bbfef39f14d0
Author: Thomas Wolf <[email protected]>
AuthorDate: Sat Oct 18 14:32:39 2025 +0200

    BouncyCastleAccessor: completely separate paths for BC and BC-FIPS
---
 .../bouncycastle/BouncyCastleAccessor.java         | 47 +++++++++++-----------
 1 file changed, 23 insertions(+), 24 deletions(-)

diff --git 
a/sshd-common/src/main/java/org/apache/sshd/common/util/security/bouncycastle/BouncyCastleAccessor.java
 
b/sshd-common/src/main/java/org/apache/sshd/common/util/security/bouncycastle/BouncyCastleAccessor.java
index e36ceca9e..048ddb13d 100644
--- 
a/sshd-common/src/main/java/org/apache/sshd/common/util/security/bouncycastle/BouncyCastleAccessor.java
+++ 
b/sshd-common/src/main/java/org/apache/sshd/common/util/security/bouncycastle/BouncyCastleAccessor.java
@@ -21,7 +21,6 @@ package org.apache.sshd.common.util.security.bouncycastle;
 import java.security.Provider;
 
 import org.apache.sshd.common.util.ReflectionUtils;
-import org.bouncycastle.jce.provider.BouncyCastleProvider;
 
 final class BouncyCastleAccessor {
 
@@ -33,7 +32,12 @@ final class BouncyCastleAccessor {
 
     public Class<?> getProviderClass(String className) {
         try {
-            return Inner.getProviderClass(className);
+            if 
(BouncyCastleSecurityProviderRegistrar.FIPS_PROVIDER_CLASS.equals(className)) {
+                return Class.forName(className);
+            } else if 
(BouncyCastleSecurityProviderRegistrar.PROVIDER_CLASS.equals(className)) {
+                return Inner.getProviderClass();
+            }
+            return null;
         } catch (Throwable t) {
             return null;
         }
@@ -41,7 +45,16 @@ final class BouncyCastleAccessor {
 
     public Provider createProvider(String className) throws 
ReflectiveOperationException {
         try {
-            return Inner.createProvider(className);
+            if 
(BouncyCastleSecurityProviderRegistrar.FIPS_PROVIDER_CLASS.equals(className)) {
+                try {
+                    return 
ReflectionUtils.newInstance(Class.forName(className), Provider.class);
+                } catch (ClassNotFoundException e) {
+                    return null;
+                }
+            } else if 
(BouncyCastleSecurityProviderRegistrar.PROVIDER_CLASS.equals(className)) {
+                return Inner.createProvider();
+            }
+            return null;
         } catch (Throwable t) {
             return null;
         }
@@ -53,34 +66,20 @@ final class BouncyCastleAccessor {
             super();
         }
 
-        static Class<?> getProviderClass(String className) {
+        static Class<?> getProviderClass() {
             try {
-                if 
(BouncyCastleSecurityProviderRegistrar.PROVIDER_CLASS.equals(className)) {
-                    return BouncyCastleProvider.class;
-                } else if 
(BouncyCastleSecurityProviderRegistrar.FIPS_PROVIDER_CLASS.equals(className)) {
-                    return Class.forName(className);
-                }
-                return null;
+                return 
org.bouncycastle.jce.provider.BouncyCastleProvider.class;
             } catch (Throwable t) {
                 return null;
             }
         }
 
-        static Provider createProvider(String className) throws 
ReflectiveOperationException {
-            if 
(BouncyCastleSecurityProviderRegistrar.PROVIDER_CLASS.equals(className)) {
-                try {
-                    return new BouncyCastleProvider();
-                } catch (Throwable t) {
-                    return null;
-                }
-            } else if 
(BouncyCastleSecurityProviderRegistrar.FIPS_PROVIDER_CLASS.equals(className)) {
-                try {
-                    return 
ReflectionUtils.newInstance(Class.forName(className), Provider.class);
-                } catch (ClassNotFoundException e) {
-                    throw new ReflectiveOperationException("Cannot instantiate 
" + className, e);
-                }
+        static Provider createProvider() {
+            try {
+                return new 
org.bouncycastle.jce.provider.BouncyCastleProvider();
+            } catch (Throwable t) {
+                return null;
             }
-            return null;
         }
     }
 

Reply via email to