【问题标题】:jce cannot authenticate the provider bcjce 无法验证提供者 bc
【发布时间】:2015-09-25 05:35:12
【问题描述】:

我开发了一个应用程序,我在 BountyCastle.jar 的帮助下使用了 Cryptography。 我还有一行 Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());

当我从 Netbeans 执行程序时一切正常

但是当我将应用程序打包到一个内部使用 BouncyCastle jar 并执行该 jar 的可执行 jar 中时,

我遇到了异常

JCE 无法验证提供者 BC java.lang.SecurityException:JCE 无法验证提供者 BC

是否还有其他方法可以实现相同的功能。因为非技术人员很难添加 BountyCastle.jar 在 jre 的 ext 文件夹中。那么有没有其他方法可以解决我的问题。

在netbeans中打包jar时有什么方法可以排除BountyCastle.jar,以便可以从外部lib文件夹访问。

【问题讨论】:

  • 只是检查一下:您是否在 BC 邮件列表中询问过?他们一直在接受这样的问题。您可能会在那里找到答案,然后回来并在此处发布以供其他人查找。
  • @CBHacking 感谢您的回复。但我不知道 BC 邮件列表。你能分享一个相同的链接吗?我很容易发布我的查询
  • BC Java 邮件列表的页面是bouncycastle.org/mailing_lists.html。它有订阅说明和可搜索的存档。你想要dev-crypto 列表。

标签: java bouncycastle


【解决方案1】:

BouncyCastlejar 存档由 BouncyCastle 签名,以防止未经授权的更改。它需要JCA 签名才能被信任为加密提供者,所以不要删除它。

查看related post

【讨论】:

  • 同样适用于不将其添加到程序集或胖罐子的规则!
  • @Dragonborn -- 更多关于不将其添加到胖罐中的信息。在那里添加后我遇到了问题。
【解决方案2】:

不要将类添加到由 mvn/sbt 创建的 fat/assembly jar 中。使其提供。从官方网页下载 jars,并将 jars 单独添加到程序的类路径中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多