Examples of PKCS7SignedData


Examples of gnu.java.security.pkcs.PKCS7SignedData

            if (name.endsWith(PKCS7_DSA_SUFFIX) || name.endsWith(PKCS7_RSA_SUFFIX))
              {
                if (DEBUG)
                  debug("reading PKCS7 info from " + name + ", alias=" + alias);
                PKCS7SignedData sig = null;
                try
                  {
                    sig = new PKCS7SignedData(super.getInputStream(ze));
                  }
                catch (CertificateException ce)
                  {
                    IOException ioe = new IOException("certificate parsing error");
                    ioe.initCause(ce);
                    throw ioe;
                  }
                catch (CRLException crle)
                  {
                    IOException ioe = new IOException("CRL parsing error");
                    ioe.initCause(crle);
                    throw ioe;
                  }
                if (name.endsWith(PKCS7_DSA_SUFFIX))
                  pkcs7Dsa.put(alias, sig);
                else if (name.endsWith(PKCS7_RSA_SUFFIX))
                  pkcs7Rsa.put(alias, sig);
              }
            else if (name.endsWith(SF_SUFFIX))
              {
                if (DEBUG)
                  debug("reading signature file for " + alias + ": " + name);
                Manifest sf = new Manifest(super.getInputStream(ze));
                sigFiles.put(alias, sf);
                if (DEBUG)
                  debug("result: " + sf);
              }
          }
      }

    // Phase 2: verify the signatures on any signature files.
    Set validCerts = new HashSet();
    Map entryCerts = new HashMap();
    for (Iterator it = sigFiles.entrySet().iterator(); it.hasNext(); )
      {
        int valid = 0;
        Map.Entry e = (Map.Entry) it.next();
        String alias = (String) e.getKey();

        PKCS7SignedData sig = (PKCS7SignedData) pkcs7Dsa.get(alias);
        if (sig != null)
          {
            Certificate[] certs = sig.getCertificates();
            Set signerInfos = sig.getSignerInfos();
            for (Iterator it2 = signerInfos.iterator(); it2.hasNext(); )
              verify(certs, (SignerInfo) it2.next(), alias, validCerts);
          }

        sig = (PKCS7SignedData) pkcs7Rsa.get(alias);
        if (sig != null)
          {
            Certificate[] certs = sig.getCertificates();
            Set signerInfos = sig.getSignerInfos();
            for (Iterator it2 = signerInfos.iterator(); it2.hasNext(); )
              verify(certs, (SignerInfo) it2.next(), alias, validCerts);
          }

        // It isn't a signature for anything. Punt it.
View Full Code Here

Examples of org.bouncycastle.jce.PKCS7SignedData

    public TestResult parseTest(
        byte[]  sample)
    {
        try
        {
            PKCS7SignedData signedData = new PKCS7SignedData(sample);

            Certificate[] certs = signedData.getCertificates();

            return new SimpleTestResult(true, getName() + ": Okay");
        }
        catch (Exception e)
        {
View Full Code Here

Examples of org.bouncycastle.jce.PKCS7SignedData

            cert = (X509Certificate)fact.generateCertificate(bIn);

            Certificate[]   certs = new Certificate[1];
            certs[0] = cert;

            PKCS7SignedData         pkcs7sd = new PKCS7SignedData(
                                            privKey, certs, "MD5");

            byte[]  bytes = Hex.decode("0102030405060708091011121314");

            pkcs7sd.update(bytes, 0, bytes.length);

            byte[]  p = pkcs7sd.getEncoded();

            pkcs7sd = new PKCS7SignedData(p);

            pkcs7sd.update(bytes, 0, bytes.length);

            if (!pkcs7sd.verify())
            {
                return new SimpleTestResult(false, "PKCS7 verification failed");
            }
        }
        catch (Exception e)
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.