我正在尝试链接正在寻找/jdk**/jre/lib/sunrsasign.jar的第三方库,但找不到它。我在网上发现了无数线程,他们说它们是从其他地方复制来的,并且可以正常工作,但是我唯一可以找到从那里复制它的地方是来源不明的第三方团体。考虑到这是一个加密库,我无法想象使用它们的版本是个好主意。
我的问题是双重的。第一个是“为什么在标准Java发行版中不存在此文件?”第二个是“我可以从哪里获得?”
最佳答案
显然,它确实存在于标准Java发行版中,但当前不存在。
如here所述,sunrsasign.jar是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签名提供程序
在JDK中可用,因此SunJSSE必须提供自己的RSA
为了使用常用的基于RSA的实现
证书。 JDK 5引入了SunRsaSign提供程序,该提供程序
SunJSSE提供程序的所有功能(以及更多功能)。应用领域
面向JDK 5.0及更高版本的用户应请求
改为使用SunRsaSign提供程序。
我这样做是为了使它以前位于您提到的sun提供的单独的jar中,并且由于JDK 5已将其集成到JDK中,而不是作为单独的jar。
关于classpath - 在哪里可以获取sunrsasign.jar的正式副本?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15885401/