summaryrefslogtreecommitdiffstats
path: root/bcpkix/src/main/java/org/bouncycastle/cms/CMSCompressedDataStreamGenerator.java
diff options
context:
space:
mode:
Diffstat (limited to 'bcpkix/src/main/java/org/bouncycastle/cms/CMSCompressedDataStreamGenerator.java')
-rw-r--r--bcpkix/src/main/java/org/bouncycastle/cms/CMSCompressedDataStreamGenerator.java165
1 files changed, 0 insertions, 165 deletions
diff --git a/bcpkix/src/main/java/org/bouncycastle/cms/CMSCompressedDataStreamGenerator.java b/bcpkix/src/main/java/org/bouncycastle/cms/CMSCompressedDataStreamGenerator.java
deleted file mode 100644
index 8a34eb0..0000000
--- a/bcpkix/src/main/java/org/bouncycastle/cms/CMSCompressedDataStreamGenerator.java
+++ /dev/null
@@ -1,165 +0,0 @@
-package org.bouncycastle.cms;
-
-import java.io.IOException;
-import java.io.OutputStream;
-
-import org.bouncycastle.asn1.ASN1Integer;
-import org.bouncycastle.asn1.ASN1ObjectIdentifier;
-import org.bouncycastle.asn1.BERSequenceGenerator;
-import org.bouncycastle.asn1.cms.CMSObjectIdentifiers;
-import org.bouncycastle.operator.OutputCompressor;
-
-/**
- * General class for generating a compressed CMS message stream.
- * <p>
- * A simple example of usage.
- * </p>
- * <pre>
- * CMSCompressedDataStreamGenerator gen = new CMSCompressedDataStreamGenerator();
- *
- * OutputStream cOut = gen.open(outputStream, new ZlibCompressor());
- *
- * cOut.write(data);
- *
- * cOut.close();
- * </pre>
- */
-public class CMSCompressedDataStreamGenerator
-{
- public static final String ZLIB = "1.2.840.113549.1.9.16.3.8";
-
- private int _bufferSize;
-
- /**
- * base constructor
- */
- public CMSCompressedDataStreamGenerator()
- {
- }
-
- /**
- * Set the underlying string size for encapsulated data
- *
- * @param bufferSize length of octet strings to buffer the data.
- */
- public void setBufferSize(
- int bufferSize)
- {
- _bufferSize = bufferSize;
- }
-
- /**
- * Open a compressing output stream with the PKCS#7 content type OID of "data".
- *
- * @param out the stream to encode to.
- * @param compressor the type of compressor to use.
- * @return an output stream to write the data be compressed to.
- * @throws IOException
- */
- public OutputStream open(
- OutputStream out,
- OutputCompressor compressor)
- throws IOException
- {
- return open(CMSObjectIdentifiers.data, out, compressor);
- }
-
- /**
- * Open a compressing output stream.
- *
- * @param contentOID the content type OID.
- * @param out the stream to encode to.
- * @param compressor the type of compressor to use.
- * @return an output stream to write the data be compressed to.
- * @throws IOException
- */
- public OutputStream open(
- ASN1ObjectIdentifier contentOID,
- OutputStream out,
- OutputCompressor compressor)
- throws IOException
- {
- BERSequenceGenerator sGen = new BERSequenceGenerator(out);
-
- sGen.addObject(CMSObjectIdentifiers.compressedData);
-
- //
- // Compressed Data
- //
- BERSequenceGenerator cGen = new BERSequenceGenerator(sGen.getRawOutputStream(), 0, true);
-
- cGen.addObject(new ASN1Integer(0));
-
- //
- // AlgorithmIdentifier
- //
- cGen.addObject(compressor.getAlgorithmIdentifier());
-
- //
- // Encapsulated ContentInfo
- //
- BERSequenceGenerator eiGen = new BERSequenceGenerator(cGen.getRawOutputStream());
-
- eiGen.addObject(contentOID);
-
- OutputStream octetStream = CMSUtils.createBEROctetOutputStream(
- eiGen.getRawOutputStream(), 0, true, _bufferSize);
-
- return new CmsCompressedOutputStream(
- compressor.getOutputStream(octetStream), sGen, cGen, eiGen);
- }
-
- private class CmsCompressedOutputStream
- extends OutputStream
- {
- private OutputStream _out;
- private BERSequenceGenerator _sGen;
- private BERSequenceGenerator _cGen;
- private BERSequenceGenerator _eiGen;
-
- CmsCompressedOutputStream(
- OutputStream out,
- BERSequenceGenerator sGen,
- BERSequenceGenerator cGen,
- BERSequenceGenerator eiGen)
- {
- _out = out;
- _sGen = sGen;
- _cGen = cGen;
- _eiGen = eiGen;
- }
-
- public void write(
- int b)
- throws IOException
- {
- _out.write(b);
- }
-
-
- public void write(
- byte[] bytes,
- int off,
- int len)
- throws IOException
- {
- _out.write(bytes, off, len);
- }
-
- public void write(
- byte[] bytes)
- throws IOException
- {
- _out.write(bytes);
- }
-
- public void close()
- throws IOException
- {
- _out.close();
- _eiGen.close();
- _cGen.close();
- _sGen.close();
- }
- }
-}