3

我正在尝试链接第三方库,该库正在寻找 /jdk**/jre/lib/sunrsasign.jar 并且找不到它。我在网上发现了许多线程,说他们从其他地方复制它并让它工作,但我能找到复制它的唯一地方是有问题的第三方团体。考虑到这是一个密码库,我无法想象使用他们的版本是个好主意。

我的问题是双重的。第一个是“为什么标准 Java 发行版中不存在这个文件?” 第二个是“我可以从哪里得到它?”

4

1 回答 1

4

显然它确实存在于标准 Java 发行版中,但不存在于当前发行版中。

sunrsasign.jar 是此处解释的 SunRsaSign 提供程序。它说:

本文档描述了作为 Sun 的 Java 环境的一部分提供的提供程序的技术细节。

SunRsaSign 提供者

SunRsaSign 提供程序是在 JDK 1.3 中引入的,作为 SunJSSE 提供程序中 RSA 签名的增强替代品。

在我的 64 位 Oracle JDK 1.7.0_09 中, sunrsasign.jar 文件不存在,通过网络搜索我们可以看到SunRsaSign包含在 rt.jar中。使用jarfinder我们可以看到对于 JDK 1.4.2,jar 确实作为一个单独的文件存在。从谷歌缓存我们可以看到它曾经在jre/lib/ext/ jre/lib

此外,sunprovider 文档

在早期的 JDK 版本中,JDK 中没有可用的 RSA 签名提供程序,因此 SunJSSE 必须提供自己的 RSA 实现才能使用常用的基于 RSA 的证书。JDK 5 引入了 SunRsaSign 提供程序,它提供了 SunJSSE 提供程序的所有功能(以及更多功能)。以 JDK 5.0 及更高版本为目标的应用程序应改为请求 SunRsaSign 提供程序的实例。

我认为它曾经位于您提到的 sun 提供的单独 jar 中,并且从 JDK 5 开始,它已集成到 JDK 中,而不是作为单独的 jar。

于 2013-05-15T16:33:46.390 回答