code: public void process(Hashtable<String, CodeSigner[]> signers,
              List manifestDigests)
          throws IOException, SignatureException, NoSuchAlgorithmException,
              JarException, CertificateException
      {
          // calls Signature.getInstance() and MessageDigest.getInstance()
          // need to use local providers here, see Providers class
          Object obj = null;
          try {
              obj = Providers.startJarVerification();
              processImpl(signers, manifestDigests);
          } finally {
              Providers.stopJarVerification(obj);
          }
  
      }
docs: process the signature block file. Goes through the .SF file
  and adds code signers for each section where the .SF section
  hash was verified against the Manifest section.