使用bouncyCastle.SecurityException打包在独特的jar中

时间:2017-10-13 08:03:32

标签: java digital-signature bouncycastle build.xml

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

我收到以下错误:

  

错误:发生了JNI错误,请检查您的安装并再次尝试线程中的异常" main" java.lang.SecurityException:Manifest主要属性的签名文件摘要无效

我使用以下代码更改了<ScrollView> <RelativeLayout> </RelativeLayout> </ScrollView> <Button />

build.xml

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

我检查了罐子,我在META-INF:

<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>

总之,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 并不排除文件。你能帮帮我吗?

Ps:我有一台Mac,我试图更改build.xml,我得到的结果相同

1 个答案:

答案 0 :(得分:2)

Bouncycastle罐子已签署,因为implements a cryptographic provider

  

如果您的提供商通过Cipher KeyAgreementKeyGeneratorMacSecretKeyFactory类提供加密算法,则需要在JAR上签名文件,以便JCA可以在运行时验证代码。

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

选项:

  • 使用代码签名证书签署您的代码

  • 使用您的应用程序部署bcprov-jdk15on-1.xx.jar