2017-10-13 7 views
2

私はいくつかのデータを圧縮して暗号化するためにBouncy Castlesを使用しています。圧縮メソッドが失敗し、null参照例外が発生します。以下の方法は、圧縮を実行します - 私は圧縮を残す場合は、暗号化部が期待通りに動作しますなぜ私にはわからないがPGP圧縮と暗号化

pgpLiteralDataGenerator.Open(compressedStream, PgpLiteralData.Binary, null, data.Length, DateTime.UtcNow)) 

private byte[] Compress(byte[] data) 
     { 
      using (MemoryStream outStream = new MemoryStream()) 
      { 
       PgpCompressedDataGenerator pgpCompressedDataGenerator = new PgpCompressedDataGenerator(CompressionAlgorithmTag.Zip); 
       using (Stream compressedStream = pgpCompressedDataGenerator.Open(outStream)) 
       { 
        PgpLiteralDataGenerator pgpLiteralDataGenerator = new PgpLiteralDataGenerator(); 

        using (Stream literalDataStream = pgpLiteralDataGenerator.Open(compressedStream, PgpLiteralData.Binary, null, data.Length, DateTime.UtcNow)) 
        { 
         literalDataStream.Write(data, 0, data.Length); 

         literalDataStream.Close(); 

         pgpCompressedDataGenerator.Close(); 

         return outStream.ToArray(); 
        } 
       } 
      } 
     } 

次の行は、バルク参照例外が発生します。

pgpLiteralDataGenerator.Open(compressedStream, PgpLiteralData.Binary, null, data.Length, DateTime.UtcNow)) 

このコードは、他のプロジェクトからの直接コピーだった:私は、それは以下の呼び出しでnullパラメータが問題を引き起こしていたが判明マーク

答えて

1

、圧縮を実行するために別のライブラリが必要ですそのプロジェクトでは、Bouncy Castles APIがiTextSharpで持ち込まれました。実装に若干の違いがあると仮定しています。

関連する問題