2011-06-21 14 views
1

全部,用於檢查簽名JAR的Java實用程序

是否有一個很好的免費Java實用程序向您顯示JAR文件簽名的密鑰?

我在應用程序中引用了一些JAR文件 - 我想知道哪些是由相同的證書籤名的。

基本上我想知道這一點,因爲當我運行我的JNLP文件(歡呼!)我接到消息「JNLP文件中的JAR資源沒有被相同的證書籤名」。

我已經看過jar resources in jnlp are not signed by the same certificate

我有好幾個JARS這樣一個工具會派上用場。

編輯

的主要問題是有沒有一個工具,可以告訴我這罐子通過證書進行簽名。不幸的是,jarsigner工具只告訴我他們是否簽名 - 不是由誰/什麼。

不幸的是,我還沒有找到任何工具。

末編輯

乾杯,

Andez

回答

3

最簡單的就是辭職他們都用自己的密鑰。

+0

我希望我的NetBeans 7會做這個。我生成了一個密鑰,並且項目輸出表明它已使用我的密鑰簽署了所有文件。但是,當我運行我的JNLP文件時,它會有所不同。 – Andez

+0

考慮啓用Java控制檯並設置日誌級別以跟蹤。這允許您在加載應用程序時看到javaws提供的調試消息。 –

1

你看看jarsigner嗎?

+0

嗨Dimitri。是的,那是我第一次嘗試。然而,jarsigner -verify -certs myjarfile.jar並沒有給我提供真實的信息。 – Andez

0

JDK工具JarSigner可能就是您正在搜索的內容。你可以在tools.jar中找到它。如果您需要更深入地瞭解簽名和驗證過程,請致電sources are availible

另外我認爲應該可以使用不同證書的罐子。我沒有測試它,但也許它可以幫助做一些像

... 
<resources> 
    <jar href="jarwithcert1.jar"/> 
</resources> 
<resources> 
    <jar href="jarwithcert2.jar"/> 
</resources> 
... 

... 
<resources> 
    <jar href="jarwithcert1.jar" part="one" /> 
    <jar href="jarwithcert2.jar" part="two" /> 
</resources> 
... 
+0

@polyurethan - 是的,我在某處讀過,你可以做到。我看到的帖子是http://stackoverflow.com/questions/430755/jar-resources-in-jnlp-are-not-signed-by-the-same-certificate。我還沒有嘗試過。但更多的情況下,在確認分鐘謝謝andez – Andez

+0

@ polyurethan - 它試了這個,它不起作用:-( – Andez

+0

@Andez你試了什麼?我回答或另一個解決方案與其他JAR的額外jnlp ? – alexvetter