相关疑难解决方法(0)

bouncycastle + JBoss AS7:JCE无法验证提供商BC

我在我的应用程序中使用BouncyCastle进行加密.当我独立运行时,一切正常.但是,如果我把它放在webapp中并部署在JBoss服务器上,我会收到以下错误:

javax.servlet.ServletException: error constructing MAC: java.security.NoSuchProviderException: JCE cannot authenticate the provider BC
(...)
root cause
java.lang.Exception: error constructing MAC: java.security.NoSuchProviderException: JCE cannot authenticate the provider BC
(...)
root cause
java.io.IOException: error constructing MAC: java.security.NoSuchProviderException: JCE cannot authenticate the provider BC
    org.bouncycastle.jce.provider.JDKPKCS12KeyStore.engineLoad(Unknown Source)
    java.security.KeyStore.load(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

以下是导致此错误的代码的一部分:

    if (Security.getProvider(BouncyCastleProvider.PROVIDER_NAME) == null)
    {
        Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
    }

    // Read the Private Key
    KeyStore ks = KeyStore.getInstance("PKCS12", BouncyCastleProvider.PROVIDER_NAME);
    ks.load(new FileInputStream(certificatePath), privateKeyPassword.toCharArray());
Run Code Online (Sandbox Code Playgroud)

和maven依赖:

<dependency>
    <groupId>bouncycastle</groupId>
    <artifactId>bcmail-jdk16</artifactId>
    <version>140</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

你知道我怎么能部署它?

java security jboss bouncycastle jce

24
推荐指数
3
解决办法
3万
查看次数

标签 统计

bouncycastle ×1

java ×1

jboss ×1

jce ×1

security ×1