我可以在我的项目路径上看到 bcprov-jdk15 和 bcprov-jdk16。是否存在我们需要两者的情况?
为了兼容性,15 和 16 指向 JRE 1.5 和 1.6。您的版本最多为 1.46 ,因为这是分别针对 JDK 1.5 和 1.6 的最新版本。1.46 版本创建于 2011 年 2 月。当前版本是 1.60,2018 年 7 月。
所以你不需要也不应该想要这些罐子中的任何一个。您可能需要最新的,否则您可能会在安全修复方面落后。请注意,您应该进行一些测试以查看最新版本是否与您的代码一起运行,如果没有,请更改您的代码。通常 Bouncy Castle 库是向后兼容的,但一些组件(例如它自己的 ASN.1 API)经历了一些严重的变化。
因此,您最好从 Maven 存储库中使用这个,或者从 Bouncy Castle 站点本身下载最新版本。您应该使用带有 15on 的那个,它适用于等于或大于 1.5(on = 以后)的所有 Java 版本。
在没有版本号的情况下存储这些 jar 当然是可笑的。如果您需要重命名 .jar 文件只是为了让您的代码运行,那么您需要解决一些问题。