2013-03-22 56 views
2

我正在嘗試在equinox OSGi容器中安裝一個特性。我通過P2主任的命令行工具做到這一點:在equinox中安裝帶簽名的jar

java -jar ./plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar -application org.eclipse.equinox.p2.director -no 
splash -consoleLog -debug -repository <repositoryUrl> -installIU <featurename> -profile <profileName> -vmargs -Declipse.p2.unsignedPolicy=allow 

然而,安裝失敗,並出現以下錯誤信息:

!MESSAGE One or more certificates rejected. Cannot proceed with installation. 

這可能是因爲該功能包含BouncyCastle的罐子被簽署,用於簽署這些罐子的證書被拒絕。

有沒有人有一個想法我可以如何解決這個問題?

當我通過GUI安裝工具安裝該功能時,我沒有任何問題,但在安裝過程中出現一個彈出式窗口,詢問我是否要信任證書鏈。如果在此對話框中單擊「是」,該功能將正確安裝。

kr,

Frederik。

回答

1

這似乎是p2 Director中的缺陷/缺失功能。 解決方法是將證書安裝到您的JVM中。 您可以從簽名的JAR文件中提取原始證書。

(你可以找到關於如何提取證書in this post更多信息)

+1

更簡單的方法來提取該證書是通過OpenSSL的工具: 'OpenSSL的PKCS7 -in BCKEY.DSA -print_certs -inform DER - out bc.cer' – frederikdebacker 2013-03-22 17:47:45