【发布时间】:2015-06-01 17:56:35
【问题描述】:
我有一个奇怪的问题。我编写了一个 Java 应用程序来执行一些加密操作(使用 AES 加密和使用 ECDSA 进行数字签名)。我决定使用 BouncyCastle API...我在 Eclipse 中尝试了我的应用程序,一切顺利。然后,我使用 Eclipse 向导将应用程序导出到“可运行的 JAR 文件”中,并选择了“将所需的库打包到生成的 JAR 中”选项。 然后我启动 JAR,应用程序抛出不幸的著名异常
java.security.NoSuchProviderException: JCE cannot authenticate the provider BC
所以,我在这里和其他网站上读到了一些东西。有人写说需要修改java.security文件,添加BouncyCastleProvider。我还将 BouncyCastle 的 JAR 添加到 jre/lib/ext/ 中,但仍然抛出异常。然后我发现有人写我需要更改我的JAR中的库导出顺序。 因此,受此启发,我使用“将所需库复制到生成的 JAR 旁边的子文件夹”选项重新导出了 JAR。 我运行了新的 JAR,一切都很顺利。 在这个重要的介绍结束时(感谢您的耐心等待),我的问题是:为什么现在 SecurityException 没有被抛出?为什么将库从 JAR 中取出? 编辑:我已经解决了这个问题,我理解为什么抛出异常, 但我不明白为什么,在外部子文件夹中导出 bcprov 问题就消失了。
【问题讨论】:
标签: java jar bouncycastle