log.entering("JarVerifier", "start");
log.entering(this.getClass().getName(), "start");
  void start() throws Exception  {    log.entering("JarVerifier", "start");    String jarFileName = main.getJarFileName();    jarFile = new JarFile(jarFileName);    // 1. find all signature (.SF) files    List sfFiles = new ArrayList();    for (Enumeration e = jarFile.entries(); e.hasMoreElements(); )      {        JarEntry je = (JarEntry) e.nextElement();        String jeName = je.getName();        if (! (jeName.startsWith(JarUtils.META_INF)            && jeName.endsWith(JarUtils.SF_SUFFIX)))          continue;        // only interested in .SF files in, and not deeper than, META-INF        String[] jeNameParts = jeName.split("/");        if (jeNameParts.length != 2)          continue;        String sfName = jeNameParts[1];        String sigFileName = sfName.substring(0, sfName.length() - 3);        sfFiles.add(sigFileName);      }    // 2. verify each one    if (sfFiles.isEmpty())      System.out.println("jar is not signed.--no signature files found.");    else      {        int limit = sfFiles.size();        int count = 0;        for (Iterator it = sfFiles.iterator(); it.hasNext(); )          {            String alias = (String) it.next();            if (verifySF(alias))              if (verifySFEntries(alias))                count++;          }        if (count == 0)          System.out.println("jar verification failed.");        else if (count != limit)          System.out.println("jar partially verified --" + count + " of "                             + limit + " signers.");        else          System.out.println("jar verified --" + limit + " signer(s).");      }    log.exiting("JarVerifier", "start");  }