[rules-users] Re: Invalid signature file

Geoffrey De Smet ge0ffrey.spam at gmail.com
Fri Nov 30 12:32:36 EST 2007


the drools jars aren't signed AFAIK, so it must be another jar causing 
the problem.

Debug and take a look which jar is being loaded.
In that jar you 'll find a META-INF/MANIFEST.MF file with signed hashes 
and META-INF/*.RSA and *.SF file which is the signing key.

Not that signing an already signed jar corrupts the jar. For example, 
during your webstart signing.

With kind regards,
Geoffrey De Smet


J Michael Dean wrote:
> I have created a plugin to contain the core Drools jars and 
> dependencies, and this plugin is then used by my RCP.  This works, a 
> couple rules fire correctly, etc.  Now I want to set up a testing 
> framework (JUnit4) and have the following code, which causes an Invalid 
> signature file error.  My core plugin was created in Eclipse simply by 
> wrapping the Drools jars and dependencies, and as I said, the RCP itself 
> works.  Any assistance is greatly appreciated.
> 
> - Mike
> 
> @BeforeClass
> public static void setUp() throws Exception {
> Reader source;
> final PackageBuilder builder = new PackageBuilder();
> boolean exists = (new File("rules/GlucoseDroolRules00.drl")).exists();
> if (exists) {
> builder.addPackageFromDrl(new FileReader(
> "rules/GlucoseDroolRules00.drl"));
> } else {
> System.out.println("Cannot locate the file - will try as resource");
> source = new InputStreamReader(AllDroolsRulesTests.class
> .getResourceAsStream("rules/GlucoseDroolRules00.drl"));
> 
> builder.addPackageFromDrl(source);
> }
> if (builder.hasErrors()) {
> System.out.println(builder.getErrors().toString());
> }
> Package pkg = builder.getPackage();
> ruleBase = RuleBaseFactory.newRuleBase();
> ruleBase.addPackage(pkg);
> }
> 
> The code dies in the line instantiating the PackageBuilder builder:
> 
> java.lang.SecurityException: Invalid signature file digest for Manifest 
> main attributes
> at 
> sun.security.util.SignatureFileVerifier.processImpl(SignatureFileVerifier.java:221)
> at 
> sun.security.util.SignatureFileVerifier.process(SignatureFileVerifier.java:176)
> at java.util.jar.JarVerifier.processEntry(JarVerifier.java:233)
> at java.util.jar.JarVerifier.update(JarVerifier.java:188)
> at java.util.jar.JarFile.initializeVerifier(JarFile.java:325)
> at java.util.jar.JarFile.getInputStream(JarFile.java:390)
> at sun.net.www.protocol.jar.JarURLConnection.getInputStream 
> <http://www.protocol.jar.JarURLConnection.getInputStream>(JarURLConnection.java:136)
> at java.net.URL.openStream(URL.java:1007)
> at 
> org.drools.util.ChainedProperties.loadProperties(ChainedProperties.java:245)
> at 
> org.drools.util.ChainedProperties.loadProperties(ChainedProperties.java:216)
> at org.drools.util.ChainedProperties.<init>(ChainedProperties.java:123)
> at org.drools.util.ChainedProperties.<init>(ChainedProperties.java:31)
> at 
> org.drools.compiler.PackageBuilderConfiguration.init(PackageBuilderConfiguration.java:108)
> at 
> org.drools.compiler.PackageBuilderConfiguration.<init>(PackageBuilderConfiguration.java:94)
> at org.drools.compiler.PackageBuilder.<init>(PackageBuilder.java:124)
> at org.drools.compiler.PackageBuilder.<init>(PackageBuilder.java:86)
> at droolsRules.tests.AllDroolsRulesTests.setUp(AllDroolsRulesTests.java:37)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at 
> org.junit.internal.runners.BeforeAndAfterRunner.invokeMethod(BeforeAndAfterRunner.java:74)
> at 
> org.junit.internal.runners.BeforeAndAfterRunner.runBefores(BeforeAndAfterRunner.java:50)
> at 
> org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:33)
> at org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52)
> at 
> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:38)
> at 
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
> at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
> at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
> at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users




More information about the rules-users mailing list