Beispiel #1
0
        public void Test1000()
        {
            byte[]       testData = new byte[10000];
            SecureRandom rand     = new SecureRandom();

            rand.SetSeed(0);

            for (int i = 0; i != 10; i++)
            {
                CmsCompressedDataStreamGenerator gen = new CmsCompressedDataStreamGenerator();
                MemoryStream bOut = new MemoryStream();

                Stream cOut = gen.Open(bOut, CmsCompressedDataStreamGenerator.ZLib);

                rand.NextBytes(testData);

                cOut.Write(testData, 0, testData.Length);

                cOut.Close();

                CmsCompressedDataParser ed = new CmsCompressedDataParser(bOut.ToArray());

                Assert.IsTrue(Arrays.AreEqual(testData, CmsTestUtil.StreamToByteArray(ed.GetContent().ContentStream)));
            }
        }
Beispiel #2
0
        /// <summary>
        /// Decompress the specified stream.
        /// </summary>
        /// <remarks>
        /// Decompress the specified stream.
        /// </remarks>
        /// <returns>The decompressed mime part.</returns>
        /// <param name="stream">The stream to decompress.</param>
        /// <exception cref="System.ArgumentNullException">
        /// <paramref name="stream"/> is <c>null</c>.
        /// </exception>
        /// <exception cref="Org.BouncyCastle.Cms.CmsException">
        /// An error occurred in the cryptographic message syntax subsystem.
        /// </exception>
        public MimeEntity Decompress(Stream stream)
        {
            if (stream == null)
            {
                throw new ArgumentNullException(nameof(stream));
            }

            var parser  = new CmsCompressedDataParser(stream);
            var content = parser.GetContent();

            return(MimeEntity.Load(content.ContentStream));
        }
Beispiel #3
0
        /// <summary>
        /// Decompress the specified stream to an output stream.
        /// </summary>
        /// <remarks>
        /// Decompress the specified stream to an output stream.
        /// </remarks>
        /// <param name="stream">The stream to decompress.</param>
        /// <param name="output">The output stream.</param>
        /// <exception cref="System.ArgumentNullException">
        /// <para><paramref name="stream"/> is <c>null</c>.</para>
        /// <para>-or-</para>
        /// <para><paramref name="output"/> is <c>null</c>.</para>
        /// </exception>
        /// <exception cref="Org.BouncyCastle.Cms.CmsException">
        /// An error occurred in the cryptographic message syntax subsystem.
        /// </exception>
        public virtual void DecompressTo(Stream stream, Stream output)
        {
            if (stream == null)
            {
                throw new ArgumentNullException(nameof(stream));
            }

            if (output == null)
            {
                throw new ArgumentNullException(nameof(output));
            }

            var parser  = new CmsCompressedDataParser(stream);
            var content = parser.GetContent();

            content.ContentStream.CopyTo(output, 4096);
        }
Beispiel #4
0
        public void TestEach()
        {
            byte[] testData = Encoding.ASCII.GetBytes("Hello world!");

            CmsCompressedDataStreamGenerator gen = new CmsCompressedDataStreamGenerator();
            MemoryStream bOut = new MemoryStream();

            Stream cOut = gen.Open(bOut, CmsCompressedDataStreamGenerator.ZLib);

            cOut.Write(testData, 0, testData.Length);

            cOut.Close();

            CmsCompressedDataParser ed = new CmsCompressedDataParser(bOut.ToArray());

            Assert.IsTrue(Arrays.AreEqual(testData, CmsTestUtil.StreamToByteArray(ed.GetContent().ContentStream)));
        }
Beispiel #5
0
        public void TestWorkingData()
        {
            CmsCompressedDataParser ed = new CmsCompressedDataParser(compData);

            Assert.IsTrue(Arrays.AreEqual(uncompData, CmsTestUtil.StreamToByteArray(ed.GetContent().ContentStream)));
        }