Package org.bouncycastle.cms

Examples of org.bouncycastle.cms.CMSSignedData


   
        gen.addSigner(_origDsaKP.getPrivate(), _origDsaCert, CMSSignedDataGenerator.DIGEST_SHA1);
   
        gen.addCertificatesAndCRLs(certs);
   
        CMSSignedData s = gen.generate(CMSSignedDataGenerator.DATA, msg, false, "BC", false);
   
        CMSSignedDataParser     sp = new CMSSignedDataParser(
                new CMSTypedStream(new ByteArrayInputStream(TEST_MESSAGE.getBytes())), s.getEncoded());
       
        sp.getSignedContent().drain();
       
        //
        // compute expected content digest
View Full Code Here


        sigOut.write(TEST_MESSAGE.getBytes());
       
        sigOut.close();

        CMSSignedData sd = new CMSSignedData(new CMSProcessableByteArray(TEST_MESSAGE.getBytes()), bOut.toByteArray());

        assertEquals(1, sd.getSignerInfos().getSigners().size());

        verifyEncodedData(bOut);
    }
View Full Code Here

        sigOut.write(data);

        sigOut.close();

        CMSSignedData sd = new CMSSignedData(bOut.toByteArray());

        //
        // replace signer
        //
        ByteArrayOutputStream newOut = new ByteArrayOutputStream();

        CMSSignedDataParser.replaceSigners(original, sd.getSignerInfos(), newOut);

        sd = new CMSSignedData(new CMSProcessableByteArray(data), newOut.toByteArray());
        SignerInformation signer = (SignerInformation)sd.getSignerInfos().getSigners().iterator().next();

        assertEquals(signer.getDigestAlgOID(), CMSSignedDataStreamGenerator.DIGEST_SHA224);

        CMSSignedDataParser sp = new CMSSignedDataParser(new CMSTypedStream(new ByteArrayInputStream(data)), newOut.toByteArray());
View Full Code Here

        sigOut.write(TEST_MESSAGE.getBytes());

        sigOut.close();

        CMSSignedData sd = new CMSSignedData(bOut.toByteArray());

        //
        // replace signer
        //
        ByteArrayOutputStream newOut = new ByteArrayOutputStream();

        CMSSignedDataParser.replaceSigners(original, sd.getSignerInfos(), newOut);

        sd = new CMSSignedData(newOut.toByteArray());
        SignerInformation signer = (SignerInformation)sd.getSignerInfos().getSigners().iterator().next();

        assertEquals(signer.getDigestAlgOID(), CMSSignedDataStreamGenerator.DIGEST_SHA224);

        CMSSignedDataParser sp = new CMSSignedDataParser(newOut.toByteArray());
View Full Code Here

        gen.addSigner(_origKP.getPrivate(), _origCert, CMSSignedDataGenerator.DIGEST_MD5);

        gen.addCertificatesAndCRLs(certs);

        CMSSignedData s = gen.generate(msg, "BC");

        MessageDigest sha1 = MessageDigest.getInstance("SHA1", "BC");
        MessageDigest md5 = MessageDigest.getInstance("MD5", "BC");
        Map hashes = new HashMap();
        byte[] sha1Hash = sha1.digest(data);
        byte[] md5Hash = md5.digest(data);

        hashes.put(CMSSignedDataGenerator.DIGEST_SHA1, sha1Hash);
        hashes.put(CMSSignedDataGenerator.DIGEST_MD5, md5Hash);

        s = new CMSSignedData(hashes, s.getEncoded());

        verifySignatures(s, null);
    }
View Full Code Here

        gen.addSigner(_origKP.getPrivate(), _origCert, CMSSignedDataGenerator.DIGEST_MD5);
       
        gen.addCertificatesAndCRLs(certs);

        CMSSignedData s = gen.generate(msg, true, "BC");

        ByteArrayInputStream bIn = new ByteArrayInputStream(s.getEncoded());
        ASN1InputStream      aIn = new ASN1InputStream(bIn);
       
        s = new CMSSignedData(ContentInfo.getInstance(aIn.readObject()));

        certs = s.getCertificatesAndCRLs("Collection", "BC");

        SignerInformationStore  signers = s.getSignerInfos();
       
        assertEquals(2, signers.size());
       
        Collection              c = signers.getSigners();
        Iterator                it = c.iterator();
        SignerId                sid = null;

        while (it.hasNext())
        {
            SignerInformation   signer = (SignerInformation)it.next();
            Collection          certCollection = certs.getCertificates(signer.getSID());

            Iterator        certIt = certCollection.iterator();
            X509Certificate cert = (X509Certificate)certIt.next();

            sid = signer.getSID();
           
            assertEquals(true, signer.verify(cert, "BC"));

            //
            // check content digest
            //

            byte[] contentDigest = (byte[])gen.getGeneratedDigests().get(signer.getDigestAlgOID());

            AttributeTable table = signer.getSignedAttributes();
            Attribute hash = table.get(CMSAttributes.messageDigest);

            assertTrue(MessageDigest.isEqual(contentDigest, ((ASN1OctetString)hash.getAttrValues().getObjectAt(0)).getOctets()));
        }
       
        c = signers.getSigners(sid);
       
        assertEquals(2, c.size());


        //
        // try using existing signer
        //
       
        gen = new CMSSignedDataGenerator();
          
        gen.addSigners(s.getSignerInfos());
       
        gen.addCertificatesAndCRLs(s.getCertificatesAndCRLs("Collection", "BC"));
          
        s = gen.generate(msg, true, "BC");

        bIn = new ByteArrayInputStream(s.getEncoded());
        aIn = new ASN1InputStream(bIn);

        s = new CMSSignedData(ContentInfo.getInstance(aIn.readObject()));

        certs = s.getCertificatesAndCRLs("Collection", "BC");

        signers = s.getSignerInfos();
        c = signers.getSigners();
        it = c.iterator();

        assertEquals(2, c.size());
       
View Full Code Here

   
        gen.addSigner(_origKP.getPrivate(), _origCert, CMSSignedDataGenerator.DIGEST_SHA1);
   
        gen.addCertificatesAndCRLs(certs);
   
        CMSSignedData s = gen.generate(CMSSignedDataGenerator.DATA, msg, false, "BC", false);
   
        //
        // compute expected content digest
        //
        MessageDigest md = MessageDigest.getInstance("SHA1", "BC");
View Full Code Here

        gen.addSigner(_origKP.getPrivate(), _origCert, CMSSignedDataGenerator.DIGEST_SHA1, new AttributeTable(v), null);

        gen.addCertificatesAndCRLs(certs);


        CMSSignedData s = gen.generate(CMSSignedDataGenerator.DATA, null, false, "BC");

        //
        // the signature is detached, so need to add msg before passing on
        //
        s = new CMSSignedData(msg, s.getEncoded());
        //
        // compute expected content digest
        //

        verifySignatures(s, md.digest("Hello world!".getBytes()));
View Full Code Here

        gen.addSigner(_signKP.getPrivate(), _signCert, CMSSignedDataGenerator.DIGEST_SHA1);

        gen.addCertificatesAndCRLs(certsAndCrls);

        CMSSignedData s = gen.generate(msg, true, "BC");
        SignerInformation origSigner = (SignerInformation)s.getSignerInfos().getSigners().toArray()[0];
        SignerInformationStore counterSigners = gen.generateCounterSigners(origSigner, "BC");

        SignerInformation signer = SignerInformation.addCounterSigners(origSigner, counterSigners);

        SignerInformationStore signers = signer.getCounterSignatures();
View Full Code Here

   
        gen.addSigner(signaturePair.getPrivate(), signatureCert, digestAlgorithm);
   
        gen.addCertificatesAndCRLs(certsAndCrls);
   
        CMSSignedData s = gen.generate(msg, true, "BC");
   
        ByteArrayInputStream bIn = new ByteArrayInputStream(s.getEncoded());
        ASN1InputStream      aIn = new ASN1InputStream(bIn);
       
        s = new CMSSignedData(ContentInfo.getInstance(aIn.readObject()));
   
        certsAndCrls = s.getCertificatesAndCRLs("Collection", "BC");
   
        SignerInformationStore  signers = s.getSignerInfos();
        Collection              c = signers.getSigners();
        Iterator                it = c.iterator();
   
        while (it.hasNext())
        {
            SignerInformation   signer = (SignerInformation)it.next();
            Collection          certCollection = certsAndCrls.getCertificates(signer.getSID());
   
            Iterator        certIt = certCollection.iterator();
            X509Certificate cert = (X509Certificate)certIt.next();
   
            assertEquals(true, signer.verify(cert, "BC"));
        }

        //
        // check for CRLs
        //
        Collection crls = certsAndCrls.getCRLs(null);

        assertEquals(1, crls.size());

        assertTrue(crls.contains(_signCrl));
       
        //
        // try using existing signer
        //
       
        gen = new CMSSignedDataGenerator();
          
        gen.addSigners(s.getSignerInfos());
       
        gen.addCertificatesAndCRLs(s.getCertificatesAndCRLs("Collection", "BC"));
          
        s = gen.generate(msg, true, "BC");
   
        bIn = new ByteArrayInputStream(s.getEncoded());
        aIn = new ASN1InputStream(bIn);
   
        s = new CMSSignedData(ContentInfo.getInstance(aIn.readObject()));
   
        certsAndCrls = s.getCertificatesAndCRLs("Collection", "BC");
   
        signers = s.getSignerInfos();
        c = signers.getSigners();
        it = c.iterator();
   
        while (it.hasNext())
        {
View Full Code Here

TOP

Related Classes of org.bouncycastle.cms.CMSSignedData

Copyright © 2018 www.massapicom. 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.