【问题标题】:Java7, BouncyCastle, OSX vs Redhat: "UnrecoverableKeyException"Java7、BouncyCastle、OSX 与 Redhat:“UnrecoverableKeyException”
【发布时间】:2014-10-05 14:39:43
【问题描述】:

在我的机构中,我们有一个脚本已经对数据库中的密码进行了大约 10 年的加密和解密(请注意,我们不要采用这样做或不这样做的最佳实践;这在我自己的社区中是一场健康的辩论,但业务需要)。它一直在使用 BouncyCastle 在 Java 1.3 上运行。

所以,本质上,我有一个非常旧的密钥库和非常旧的密码,我需要使用这些密码库,但在更新的代码库中运行,该代码库运行在具有新 Java 的升级机器上。

我们决定重写围绕该功能的代码库,这基本上也需要重写这部分。不过,基本上,代码的加密部分是相同的。现在我们将它部署到 Redhat 上的 Java 1.7。这就是我们遇到问题的地方。

我的开发机器:OSX,Java 1.7 (build 8)

我的测试机器:Redhat,Java 1.7 (build 9)

新代码在我的本地开发机器上执行得很好。 但是当我尝试将其部署到我们的测试机器时,我得到了“UnrecoverableKeyException:不匹配”。

所以在我们的测试机器上,我尝试使用 Java 1.6 来部署它——你瞧,效果很好。然后我获得了 Java 1.7 build 8(认为 build 9 是问题所在)并尝试了,但与 build 9 上的错误相同。

看来BouncyCastle:

  1. 在 OSX 机器上,它将在 Java 1.7 上运行
  2. 在 Redhat 机器上,它不能在 Java 1.7 上运行,但可以在 Java 1.6 及更低版本上运行。

我的问题是:有谁知道 Java 1.7 和 BouncyCastle 是否存在问题?我尝试浏览 BC 网站,但除了说明最新的 BC jar 与 Java 1.7 兼容之外,该网站的其余部分似乎很糟糕(很多 404)。我尝试使用谷歌搜索,但几乎所有与此异常相关的内容都引用了 Android,而且似乎不相关。

或者我在让它在 Java 1.7 上运行时缺少什么?我当然不精通 BC、PGP 或任何与加密相关的东西,老实说,我主要是在努力。哈哈


更多细节:

我正在使用 BC 声明与 JDK 1.5-1.7 兼容的 bcpg-jdk15on-151.jar

“部署”是指我正在安装到 Apache Karaf 3。

另请参阅:http://karaf.922171.n3.nabble.com/Karaf3-BouncyCastle-and-Java7-vs-Java6-td4034721.html

【问题讨论】:

    标签: java bouncycastle


    【解决方案1】:

    我们遇到了类似的问题(由于“错误的密钥算法”错误,无法使用现有的公钥),通过将 US_export_policy.jar 和 local_policy.jar 替换为“无限强度”版本来解决,它原来我们之前一直在使用:http://www.bouncycastle.org/latest_releases.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-06-08
      • 1970-01-01
      • 2017-02-25
      • 1970-01-01
      • 2016-05-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多