mirror of
https://gitee.com/dromara/hutool.git
synced 2025-04-05 17:37:59 +08:00
Merge pull request #3464 from human-user/v5-dev
修复BouncyCastleProvider导致graalvm应用报错UnsupportedFeatureError
This commit is contained in:
commit
96fd4e8ed1
@ -1,6 +1,7 @@
|
|||||||
package cn.hutool.crypto;
|
package cn.hutool.crypto;
|
||||||
|
|
||||||
import java.security.Provider;
|
import java.security.Provider;
|
||||||
|
import java.security.Security;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Provider对象生产工厂类
|
* Provider对象生产工厂类
|
||||||
@ -14,6 +15,9 @@ import java.security.Provider;
|
|||||||
*/
|
*/
|
||||||
public class ProviderFactory {
|
public class ProviderFactory {
|
||||||
|
|
||||||
|
private ProviderFactory() {
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建Bouncy Castle 提供者<br>
|
* 创建Bouncy Castle 提供者<br>
|
||||||
* 如果用户未引入bouncycastle库,则此方法抛出{@link NoClassDefFoundError} 异常
|
* 如果用户未引入bouncycastle库,则此方法抛出{@link NoClassDefFoundError} 异常
|
||||||
@ -21,9 +25,12 @@ public class ProviderFactory {
|
|||||||
* @return {@link Provider}
|
* @return {@link Provider}
|
||||||
*/
|
*/
|
||||||
public static Provider createBouncyCastleProvider() {
|
public static Provider createBouncyCastleProvider() {
|
||||||
final org.bouncycastle.jce.provider.BouncyCastleProvider provider = new org.bouncycastle.jce.provider.BouncyCastleProvider();
|
Provider provider = Security.getProvider(org.bouncycastle.jce.provider.BouncyCastleProvider.PROVIDER_NAME);
|
||||||
// issue#2631@Github
|
if (provider == null) {
|
||||||
SecureUtil.addProvider(provider);
|
provider = new org.bouncycastle.jce.provider.BouncyCastleProvider();
|
||||||
|
// issue#2631@Github
|
||||||
|
SecureUtil.addProvider(provider);
|
||||||
|
}
|
||||||
return provider;
|
return provider;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user