我正在尝试在寻找/jdk**/jre/lib/sunrsasign.jar的第三方库中进行链接,但无法找到它。我在网上找到了很多线程,说他们从其他地方复制了它并让它起作用,但我能找到的唯一可以复制它的地方是有问题的第三方群体。考虑到这是一个加密库,我无法想象使用他们的版本是一个好主意。
我的问题是双重的。第一个是“为什么标准Java发行版中不存在此文件?”第二个是“我在哪里可以得到它?”
答案 0 :(得分:4)
显然它确实存在于标准Java发行版中,但不存在于当前版本中。
sunrsasign.jar是解释here的SunRsaSign提供商。它说:
本文档介绍了提供商提供的技术细节 作为Sun Java环境的一部分。
和
SunRsaSign提供商
SunRsaSign提供程序作为增强版在JDK 1.3中引入 替换SunJSSE提供商中的RSA签名。
在我的64位Oracle JDK 1.7.0_09中,sunrsasign.jar文件不存在,并且在进行网络搜索时我们可以看到the class SunRsaSign is contained within rt.jar。使用jarfinder我们可以看到,对于JDK 1.4.2,jar确实作为单独的文件存在。从google cache我们可以看到它曾经在jre/lib/ext
/ jre/lib
。
另外,sunprovider docs说
在早期的JDK版本中,没有RSA签名提供程序 因此,SunJSSE必须提供自己的RSA 实现以便使用通常可用的基于RSA的 证书。 JDK 5介绍了提供的SunRsaSign提供程序 SunJSSE提供程序的所有功能(以及更多)。应用 针对JDK 5.0及更高版本的应用程序应该请求实例 相反,SunRsaSign提供商。
我这样做是因为它曾经是你提到的sun提供的一个单独的jar,而且从JDK 5开始它被集成到JDK而不是作为一个单独的jar。