Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用BouncyCastle会导致';myJar.jar有未签名的条目';_Java_Maven_Jar - Fatal编程技术网

Java 使用BouncyCastle会导致';myJar.jar有未签名的条目';

Java 使用BouncyCastle会导致';myJar.jar有未签名的条目';,java,maven,jar,Java,Maven,Jar,尝试运行.jar文件时出错,导致bouncy castle库未签名或某种类型的 Exception in thread "main" java.lang.SecurityException: JCE cannot authenticate the provider BC at javax.crypto.Cipher.getInstance(Cipher.java:656) at com.bmw.cxml.CryptoUtils.aesDecrypt(Cry

尝试运行.jar文件时出错,导致bouncy castle库未签名或某种类型的

    Exception in thread "main" java.lang.SecurityException: JCE cannot authenticate the provider BC
        at javax.crypto.Cipher.getInstance(Cipher.java:656)
        at com.bmw.cxml.CryptoUtils.aesDecrypt(CryptoUtils.java:54)
        at com.bmw.cxml.CryptoUtils.aesDecryptCBC(CryptoUtils.java:19)
        at com.bmw.cxml.ServiceDpParser.patchData(ServiceDpParser.java:37)
        at com.bmw.SACXMLPatcher.patchFiles(SACXMLPatcher.java:36)
        at com.bmw.App.main(App.java:16)
Caused by: java.util.jar.JarException: file:/C:/Users/Desktop/XMLChangerTool/target/XMLChangerTool-1.0-SNAPSHOT.jar has unsigned entries - com/bmw/App.class
        at javax.crypto.JarVerifier.verifySingleJar(JarVerifier.java:502)
        at javax.crypto.JarVerifier.verifyJars(JarVerifier.java:363)
        at javax.crypto.JarVerifier.verify(JarVerifier.java:289)
        at javax.crypto.JceSecurity.verifyProviderJar(JceSecurity.java:164)
        at javax.crypto.JceSecurity.getVerificationResult(JceSecurity.java:190)
        at javax.crypto.Cipher.getInstance(Cipher.java:652)
所有库都作为依赖项添加到pom.xml文件中。pom看起来像这样


弹跳船舱
bcprov-jdk15
140
番石榴
番石榴
18
公地io
公地io
2.6
通用编解码器
通用编解码器
1.10
src
org.apache.maven.plugins
maven阴影插件
2.4.3
包裹
阴凉处
com.bmw.App
*:*
META-INF/*.SF
META-INF/*.DSA
META-INF/*.RSA
org.apache.maven.plugins
maven jar插件
2.4
真的
com.bmw.App
org.apache.maven.plugins
maven编译器插件
1.8
1.8
我试图从stackoverflow的常见问题中找到解决方案,如下所示

Security.removeProvider("BC")
Security.addProvider(new BouncyCastleProvider())
security.provider.11=org.bouncycastle.jce.provider.BouncyCastleProvider
但它没有帮助

甚至试图向maven添加插件也没有成功
也许有人知道我可以尝试什么来解决这个问题?

我不知道这是否是一个解决方案,但我必须先将Bouncycastle jar放在类路径的第一个位置,然后再放在其他jar(我认为其中一个jar包含BC作为胖jar),然后签名异常就消失了。
奇怪的是,这个异常只发生在oracle jre上,没有采用OpenJDK。

我不知道这是否是一个解决方案,但我不得不将Bouncycastle jar放在类路径的第一个位置,在其他jar之前(我认为其中一个jar包含BC作为胖jar),然后签名异常就消失了。 奇怪的是,这个异常只发生在oracle jre上,而不是OpenJDK上