gpt4 book ai didi

java - 使用 bouncyCaSTLe.SecurityException 打包在独特的 jar 中

转载 作者:行者123 更新时间:2023-12-02 02:33:39 42 4
gpt4 key购买 nike

我使用 NetBeans 创建了一个 Java UI,我需要包含外部 jar 并将其打包在一个 jar 中。

我收到以下错误:

Error: A JNI error has occurred, please check your installation and try again Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes

我使用以下代码更改了 build.xml:

<target name="-post-jar">
<jar jarfile="${dist.jar}" update="true">
<zipgroupfileset dir="\Users\feli\Documents\bouncy\" excludes="META-INF/*.SF,META-INF/*.DSA,META-INF/*.RSA"/>
<manifest>
<attribute name="Main-Class" value="herramientascriptograficas.AplicacionCriptografica"/>
</manifest>
</jar>
</target>

但是,我得到了相同的结果。

我检查了 jar ,我在 META-INF 中:

META-INF feli$ ls BC1024KE.DSA BC1024KE_1.DSA BC2048KE.DSA BC2048KE_1.DSA MANIFEST.MF BC1024KE.SF BC1024KE_1.SF BC2048KE.SF BC2048KE_1.SF

总之,build.xml 不排除这些文件。你能帮我吗?

Ps:我有一台Mac,我尝试更改排除=“META-INF/**/*”,并且得到了相同的结果

最佳答案

BouncycaSTLe jar 已签名,因为 implements a cryptographic provider

If your provider is supplying encryption algorithms through the Cipher KeyAgreement, KeyGenerator, Mac, or SecretKeyFactory classes, you will need to sign your JAR file so that the JCA can authenticate the code at runtime.

您已将所有类重新打包到一个 jar 中,但尚未对其进行签名。您正在使用 bouncycaSTLe 的 jar 的签名文件,但它们现在无效,因为您更改了内容

选项:

  • 使用代码签名证书对您的代码进行签名

  • 还将 bcprov-jdk15on-1.xx.jar 与您的应用一起部署

关于java - 使用 bouncyCaSTLe.SecurityException 打包在独特的 jar 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46725285/

42 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com