You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "George Harley (JIRA)" <ji...@apache.org> on 2006/04/03 23:56:01 UTC
[jira] Commented: (HARMONY-204) java.util.jar.JarFile should throw
Security Exception when getInputStream from a jar file in which the content
of main attributes in manifest has been tampered
[ http://issues.apache.org/jira/browse/HARMONY-204?page=comments#action_12373027 ]
George Harley commented on HARMONY-204:
---------------------------------------
Hi Richard,
I've added the new test cases and resources in my local sandbox but see two errors when I run the tests.
(a) test_JarFile_InsertEntry_in_Manifest_Jar
java.lang.SecurityException: Inserted_Entry_Manifest.jar failed verification of META-INF/TESTROOT.SF
at java.util.jar.JarVerifier.verifyCertificate(JarVerifier.java:323)
at java.util.jar.JarVerifier.readCertificates(JarVerifier.java:247)
at java.util.jar.JarFile.getInputStream(JarFile.java:329)
at tests.api.java.util.jar.JarFileTest.test_JarFile_InsertEntry_in_Manifest_Jar(JarFileTest.java:432)
at java.lang.reflect.AccessibleObject.invokeV(AccessibleObject.java:211)
at tests.util.SomeTests.basicRun(SomeTests.java:104)
at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
at junit.extensions.TestSetup.run(TestSetup.java:23)
(b) test_Inserted_Entry_Manifest_with_DigestCode
java.lang.SecurityException: Inserted_Entry_Manifest_with_DigestCode.jar failed verification of META-INF/TESTROOT.SF
at java.util.jar.JarVerifier.verifyCertificate(JarVerifier.java:323)
at java.util.jar.JarVerifier.readCertificates(JarVerifier.java:247)
at java.util.jar.JarFile.getInputStream(JarFile.java:329)
at tests.api.java.util.jar.JarFileTest.test_Inserted_Entry_Manifest_with_DigestCode(JarFileTest.java:453)
at java.lang.reflect.AccessibleObject.invokeV(AccessibleObject.java:211)
at tests.util.SomeTests.basicRun(SomeTests.java:104)
at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
at junit.extensions.TestSetup.run(TestSetup.java:23)
Can you please investigate ? I will look into this further tomorrow but alas I am out of time today.
Best regards,
George
> java.util.jar.JarFile should throw Security Exception when getInputStream from a jar file in which the content of main attributes in manifest has been tampered
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-204
> URL: http://issues.apache.org/jira/browse/HARMONY-204
> Project: Harmony
> Type: Bug
> Components: Classlib
> Reporter: Richard Liang
> Attachments: Modified_Manifest_MainAttributes.jar, harmony204.zip
>
> According to the new feature in JAR File Specification for java 5.0, .SF signature file which verifies the manifest has a new algorithm-Digest-Manifest-Main-Attributes entry which verifies the main attributes of the manifest. If the main attributes are tampered, harmony will not throw security exception while RI 5.0 will.
> The followging test case will demonstrate this issue.
> public void test_JarFile_Modified_Manifest_EntryAttributes()
> throws IOException {
> JarFile jarFile = null;
> String path = URLDecoder.decode(this.getClass().getResource(".").getPath(),
> "UTF-8");
> String fileName = path + "/Modified_Manifest_EntryAttributes.jar";
> jarFile = new JarFile(fileName, true);
> JarEntry jarEntry = jarFile.getJarEntry("META-INF/MANIFEST.MF");
> try {
> jarFile.getInputStream(jarEntry);
> fail("should throw Security Excetpion");
> } catch (SecurityException e) {
> // desired
> }
> }
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira