2013-04-08 54 views
3

我試圖鏈接到第三方庫,它正在尋找/jdk**/jre/lib/sunrsasign.jar並找不到它。我在網上發現了很多線索,說他們從其他地方複製它並讓它起作用,但是我能找到的唯一可複製的地方是第三方可疑問題組織。考慮到這是一個加密庫,我無法想象使用他們的版本是一個好主意。我在哪裏可以得到sunrsasign.jar的官方副本?

我的問題是雙重的。首先是「爲什麼這個文件不存在於標準的Java發行版中?」第二個是「我可以從哪裏得到它?」

回答

4

顯然它確實存在於標準的Java分發版中,但不存在於當前版本中。

sunrsasign.jar是SunRsaSign Provider的解釋here。它說:

本文檔描述作爲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提供程序的實例 。

這似乎有點令人困惑,因爲上一節提到它是在JDK 1.3中引入的。課程javadoc also says "since 1.5",所以我認爲我們可以認爲它不是一個錯字。

我把它放在一個由你提到的sun提供的單獨的jar中,並且從JDK 5開始它已經集成到JDK中,而不是作爲單獨的jar。

+0

謝謝。我想正確的路徑是要求第三方庫的製造商更新他們的版本,或者嘗試將它與舊版本的Java相關聯。 – 2013-06-03 16:59:36

+0

@RobertRapplean在這方面有什麼遺漏,因爲它還在等待接受? – eis 2017-09-12 14:58:18

相關問題