与爆炸城堡的SecurityException

Him*_*dar 2 java encryption macos bouncycastle jasypt

我在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)
    at javax.crypto.JarVerifier.verifyJars(JarVerifier.java:322)
    at javax.crypto.JarVerifier.verify(JarVerifier.java:250)
Run Code Online (Sandbox Code Playgroud)

我用jdk16-140.jar尝试了这个,但结果相同.有人可以想到任何其他选择来克服这个问题吗?谢谢.

Him*_*dar 9

  1. 我从我当地的jre/jdk ext目录中删除了bouncy castle(bcprov-jdk15-140.jar)
  2. 在/jboss/jboss-5.1.0.GA/server/default/lib/下复制了bcprov-jdk15-140.jar
  3. 将依赖范围从默认编译更改为提供的bouncycastle bcprov-jdk15 140
  4. 在java.security中添加了"security.provider.11 = org.bouncycastle.jce.provider.BouncyCastleProvider"

这是我的参考