图书馆JAR与充气城堡

时间:2015-09-07 06:04:13

标签: java intellij-idea jar cryptography bouncycastle

我正在开发一个包含多个子项目的项目,他们都使用我创建的实用程序库来进行散列,签名和加密消息。这个库基本上是充气城堡的包装。

当我运行与库相关的测试时,一切都过去了,没关系。当我将实用程序库打包到jar中时,会发生两件事:

  1. 使用该库的子项目无法找到与充气城堡相关的罐子。
  2. 即使我将弹力城堡罐子添加到使用该库的子项目中,该项目也找不到充气城堡安全提供者“BC”
  3. 以下是intellij中导出的实用程序jar的配置: Artifact Picture

    错误: error

    安全提供程序初始化:  initialization

    为什么我不能导出包含安全提供程序的库?这是生成的类加载器的副作用吗?

    提前致谢。

1 个答案:

答案 0 :(得分:1)

提供商需要签名。可能是你正在弄乱验证程序,尽管从远处很难说清楚。如果你正在重新包装BC提供商,你肯定会遇到麻烦,并且使用不同的类加载器也可能会很糟糕地提供签名,是的。是的。

另一个问题可能是您在构造函数中注册了提供程序。如果未在提供程序之前调用构造函数,则可能会遇到问题。通常,您应该尽早注册提供程序,即在用于您的应用程序的第一个类的静态代码块中。请注意,多次注册提供程序没有风险 - 它只会发现一个已经使用相同的名称注册并且什么都不做。