2014-01-08 31 views
0

我有一個applet,它依賴於很多jar。在我將Java更新到7.45之後,小程序生成消息顯示「此應用程序將在未來的Java安全更新中被阻止,因爲JAR文件清單不包含權限屬性」 我添加了權限屬性「權限:所有權限「之後,我通過我們的」6NRJ「證書辭去了所有這些罐子。用新的權限屬性辭職「bcprov-ext-jdk16-140.jar」

所有的罐子都簽了名,但不幸的是applet僅在「bcprov-ext-jdk16-140.jar」中生成一個異常。

這裏異常的詳細信息:

java.security.NoSuchProviderException: JCE cannot authenticate the provider BC 
     at javax.crypto.JceSecurity.getInstance(JceSecurity.java:101) 
     at javax.crypto.KeyGenerator.getInstance(KeyGenerator.java:249) 
     at org.bouncycastle.cms.CMSEnvelopedHelper.createKeyGenerator(Unknown Source) 
     at org.bouncycastle.cms.CMSEnvelopedHelper.createSymmetricKeyGenerator(Unknown Source) 
     at org.bouncycastle.cms.CMSEnvelopedDataGenerator.generate(Unknown Source) 
     at com.atexo.mpe.applet.AppletDiagnostic.init(AppletDiagnostic.java:142) 
     at com.sun.deploy.uitoolkit.impl.awt.AWTAppletAdapter.init(Unknown Source) 
     at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) 
     at java.lang.Thread.run(Unknown Source) 
Caused by: java.util.jar.JarException: http://wma-migration.whitecapetech.local/ressources/applet/bcprov-ext-jdk16-140.jar is not signed by a trusted signer. 
     at javax.crypto.JarVerifier.verifySingleJar(JarVerifier.java:503) 
     at javax.crypto.JarVerifier.verifyJars(JarVerifier.java:322) 
     at javax.crypto.JarVerifier.verify(JarVerifier.java:250) 
     at javax.crypto.JceSecurity.verifyProviderJar(JceSecurity.java:161) 
     at javax.crypto.JceSecurity.getVerificationResult(JceSecurity.java:187) 
     at javax.crypto.JceSecurity.getInstance(JceSecurity.java:98) 
     ... 8 more 

我認爲bcprov-EXT-jdk16-140.jar被充氣城堡前簽署。

添加權限屬性後,有沒有辦法重新簽署「bcprov-ext-jdk16-140.jar」?

預先感謝幫助

回答

0

「我認爲bcprov-EXT-jdk16-140.jar被充氣城堡前簽署。」

不,你可以驗證這個打開罐子。你會發現它沒有簽名。

「有沒有辦法重新登錄 」bcprov-EXT-jdk16-140.jar「 添加權限屬性之後?」

肯定。打開bcprov jar。使用文本編輯器添加權限屬性。使用jarsigner簽名。