相关疑难解决方法(0)

BouncyCastle 1.51在Wildfly 8.0上加载战争

背景

我正在尝试使用充气城堡库在我的战争中解密私钥.现在我在一个独立的应用程序中首先测试了代码,它运行良好.现在,当我在Wildfly8.0中测试它作为webapp时,我正面临着与Bouncy城​​堡的一些问题.

Wildfly 8.0 am使用安装了充气城堡提供者模块.在v1.46中使用的BC版本.

我开发的代码使用v1.51.我按照这里提到的步骤:

已经尝试过了

  • 安装JCE策略文件.
  • 添加到提供者列表.

问题

我得到的错误是:

unable to read encrypted data: JCE cannot authenticate the provider BC 
Run Code Online (Sandbox Code Playgroud)

以及触发上述错误的代码如下:

PKCS8EncryptedPrivateKeyInfo kp = (PKCS8EncryptedPrivateKeyInfo) keyPair;  
InputDecryptorProvider pkcs8dec = new JceOpenSSLPKCS8DecryptorProviderBuilder()  
      .setProvider(new BouncyCastleProvider())  
      .build("somepass".toCharArray());  
PrivateKeyInfo pko = kp.decryptPrivateKeyInfo(pkcs8dec);<-- ##Error here  
Run Code Online (Sandbox Code Playgroud)

另外要添加详细信息,在我的pom.xml中我添加了带有编译范围的jar,因此libs被复制到war中并安装在WEB-INF/lib中.

解决上述问题的任何提示?

java jboss bouncycastle war wildfly-8

10
推荐指数
1
解决办法
2349
查看次数

jce 无法验证提供者 bc

我开发了一个应用程序,在 BountyCastle.jar 的帮助下使用了密码学。我还有一行 Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());

当我从 Netbeans 执行程序时一切正常

但是当我将应用程序打包到内部使用 BouncyCastle jar 的可执行 jar 并执行该 jar 时,

我遇到异常

JCE 无法验证提供者 BC java.lang.SecurityException: JCE 无法验证提供者 BC

是否还有其他方法可以实现相同的效果。因为非技术人员很难将BountyCastle.jar添加到jre的ext文件夹中。那么还有其他方法可以解决我的问题吗?

在 netbeans 中打包 jar 时,是否有任何方法可以排除 BountyCastle.jar,以便可以从外部 lib 文件夹访问。

java bouncycastle

5
推荐指数
1
解决办法
2万
查看次数

与爆炸城堡的SecurityException

我在Mac OS上并在我的mac上执行软件更新后遇到此问题.

Caused by: java.lang.SecurityException: JCE cannot authenticate the provider BC
    at javax.crypto.SunJCE_b.a(DashoA13*..)
    at javax.crypto.SecretKeyFactory.getInstance(DashoA13*..)
    at org.jasypt.encryption.pbe.StandardPBEByteEncryptor.initialize(StandardPBEByteEncryptor.java:667)
    ... 95 more
Caused by: java.util.jar.JarException: Cannot parse jar:file:/Users/himajumdar/Work/jboss/jboss-5.1.0.GA/server/default/tmp/a00c-b5p2h4-hgi84jo1-1-hgi84qe5-w/csa.ear!/lib/bcprov-jdk15-140.jar
    at javax.crypto.SunJCE_c.a(DashoA13*..)
    at javax.crypto.SunJCE_b.b(DashoA13*..)
    at javax.crypto.SunJCE_b.a(DashoA13*..)
    ... 98 more
Run Code Online (Sandbox Code Playgroud)

我试过这些建议

  1. 将security.provider.11 = org.bouncycastle.jce.provider.BouncyCastleProvider添加到java.security
  2. 在/ Home/jre/lib/ext下添加了bcprov-jdk15-140.jar

但这有助于帮助.我尝试将jdk6更新为jdk7并做了同样的事情,得到了一个略有不同的无符号jar错误

    at org.jboss.seam.Component.newInstance(Component.java:2132)
    ... 75 more
Caused by: java.lang.SecurityException: JCE cannot authenticate the provider BC
    at javax.crypto.JceSecurity.getInstance(JceSecurity.java:114)
    at javax.crypto.SecretKeyFactory.getInstance(SecretKeyFactory.java:243)
    at org.jasypt.encryption.pbe.StandardPBEByteEncryptor.initialize(StandardPBEByteEncryptor.java:667)
    ... 95 more
Caused by: java.util.jar.JarException: jar:file:/Users/himajumdar/Work/jboss/jboss-5.1.0.GA/server/default/tmp/a00c-4nf5e1-hgiayarg-1-hgiayihg-w/csa.ear!/lib/bcprov-jdk15-140.jar has unsigned entries - csa-ejb-3.45.0.8-SNAPSHOT.jar
    at javax.crypto.JarVerifier.verifySingleJar(JarVerifier.java:462) …
Run Code Online (Sandbox Code Playgroud)

java encryption macos bouncycastle jasypt

2
推荐指数
1
解决办法
2万
查看次数

标签 统计

bouncycastle ×3

java ×3

encryption ×1

jasypt ×1

jboss ×1

macos ×1

war ×1

wildfly-8 ×1