浏览器mob proxy-java.lang.SecurityException在执行maven打包的jar时

浏览器mob proxy-java.lang.SecurityException在执行maven打包的jar时,maven,maven-2,proxy,Maven,Maven 2,Proxy,我在web应用程序中使用浏览器移动代理来模拟代理服务器。在执行mvn clean包之后,当我执行jar时,我得到以下错误: Exception in thread "main" java.lang.SecurityException: no manifiest section for signature file entry org/bouncycastle/asn1/ocsp/ResponderID.class at sun.security.util.SignatureFileVerifie

我在web应用程序中使用浏览器移动代理来模拟代理服务器。在执行mvn clean包之后,当我执行jar时,我得到以下错误:

Exception in thread "main" java.lang.SecurityException: no manifiest section for signature file entry org/bouncycastle/asn1/ocsp/ResponderID.class
at sun.security.util.SignatureFileVerifier.verifySection(SignatureFileVerifier.java:399)
at sun.security.util.SignatureFileVerifier.processImpl(SignatureFileVerifier.java:250)
at sun.security.util.SignatureFileVerifier.process(SignatureFileVerifier.java:193)
at java.util.jar.JarVerifier.processEntry(JarVerifier.java:305)
at java.util.jar.JarVerifier.update(JarVerifier.java:216)
at java.util.jar.JarFile.initializeVerifier(JarFile.java:341)
at java.util.jar.JarFile.getInputStream(JarFile.java:406)
at sun.misc.URLClassPath$JarLoader$2.getInputStream(URLClassPath.java:752)
at sun.misc.Resource.cachedInputStream(Resource.java:77)
at sun.misc.Resource.getByteBuffer(Resource.java:160)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:436)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:472)

Meta Inf文件夹没有任何签名证书,我可以在构建jar时排除这些证书。

我记得在一些bouncycastle类中也有类似的问题

我的问题是由一个“ueber jar”(在我的例子中是ApacheDS all)引起的,它不仅包含来自ApacheDS项目的类,还包含来自ApacheDS第三方依赖项的所有类

由于bouncycastle类最初是在一个签名的jar文件中发布的,因此当从不同的位置加载这些类时,我遇到了一个安全异常——这就是对jar进行签名的首要意义

我建议扫描类路径中的所有JAR文件,查看org/bouncycastle/asn1/ocsp/ResponderID.class是否包含在非bouncycastle分发JAR文件中


希望有帮助

我在ic4u包中遇到了安全问题。我只是把它排除在依赖项之外,一切都很好

<dependency>
  <groupId>biz.neustar</groupId>
  <artifactId>browsermob-proxy</artifactId>
  <version>${browser-mob-version}</version>
  <exclusions>
    <exclusion>
      <groupId>org.seleniumhq.selenium</groupId>
      <artifactId>selenium-api</artifactId>
    </exclusion>
    <exclusion>
      <artifactId>icu4j</artifactId>
      <groupId>com.ibm.icu</groupId>
    </exclusion>
  </exclusions>
</dependency>

商务新星号
browsermob代理
${browser mob version}
org.seleniumhq.selenium
硒原料药
icu4j
com.ibm.icu

我在iText 4.2.0和bouncycastle库中遇到了完全相同的问题(与
ResponderID
和其他类相关的安全异常)


我最终删除了iText附带的签名JAR中的
META-INF
目录。这可能不是最优雅的方式,但至少它为我解决了问题。

谢谢你的回答,但在我的情况下,我在另一个包中遇到了类似的问题,但这确实有助于找到正确的方向。