You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Tim Ellison (JIRA)" <ji...@apache.org> on 2009/06/16 13:25:07 UTC

[jira] Commented: (HARMONY-6202) JarEntry.getCertificates() not working with JarEntryStream

    [ https://issues.apache.org/jira/browse/HARMONY-6202?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12720073#action_12720073 ] 

Tim Ellison commented on HARMONY-6202:
--------------------------------------

Chris,

Just shout if you need guidance on the paperwork

  http://harmony.apache.org/auth_cont_quest.html

> JarEntry.getCertificates() not working with JarEntryStream
> ----------------------------------------------------------
>
>                 Key: HARMONY-6202
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6202
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>         Environment: x86/Linux, Eclipse Harmony plugin
>            Reporter: Chris Gray
>
> Following code fails on Harmony, i.e. prints "No certificates" even though the jar has been signed with Sun's jarsigner tool. Code works on RI 1.4, fails on RI 1.5 (subject of Sun bug report no. 6284489), works on RI 1.6.
> import java.io.BufferedInputStream;
> import java.io.FileInputStream;
> import java.util.Enumeration;
> import java.util.jar.*;
> class SignatureTest2 {
>   static public void main(String[] args) {
>    if (args.length == 0) {
>       System.out.println("Usage: SignatueTest2 path/to/jarfile.jar");
>    }
>     try {
>       String filename = args[0];
>       System.out.println("Opening file: " + filename);
>       System.out.println();
>       FileInputStream fis = new FileInputStream(filename);
>       BufferedInputStream bis = new BufferedInputStream(fis, 8192);
>       JarInputStream jis = new JarInputStream(bis);
>       Manifest m = jis.getManifest();
>       JarEntry je = jis.getNextJarEntry();
>       while (je != null) {
>         System.out.println("JarEntry: " + je);
>         if (!je.isDirectory()) {
>           String name = je.getName();
>           if (!name.startsWith("META-INF/")) {
>             jis.closeEntry();
>             java.security.cert.Certificate[] certs = je.getCertificates();
>             if (certs == null) {
>               System.out.println("No certificates");
>             }
>             else {
>               System.out.println("Certificates:");
>               for (int i = 0; i < certs.length; ++i)
>                 System.out.println(certs[i].toString());
>             }
>             System.out.println();
>           }
>         }
>         je = jis.getNextJarEntry();
>       }
>     }
>     catch (Throwable t) {
>       t.printStackTrace();
>     }
>   }
> }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.