private void TestFile(string fileName, Encoding encoding, bool bom) { PGPKeyStorage pGPKeyStorage = ApplicationSetting.ToolSetting.PGPInformation; var line1 = $"1\tTest\t{fileName}"; var line2 = $"2\tTest\t{fileName}"; var line3 = $"3\tTest\t{fileName}"; FileSystemUtils.FileDelete(fileName); var encryptionKey = pGPKeyStorage.GetEncryptionKey("*****@*****.**"); using (var encryptor = new PgpEncryptedDataGenerator(SymmetricKeyAlgorithmTag.TripleDes, false, new SecureRandom())) { encryptor.AddMethod(encryptionKey); using (encryptedStream = encryptor.Open(new FileStream(fileName, FileMode.Create), new byte[16384])) { } var compressedStream = new PgpCompressedDataGenerator(CompressionAlgorithmTag.Zip).Open(encryptedStream); using (var stream = new PgpLiteralDataGenerator().Open(compressedStream, PgpLiteralDataGenerator.Utf8, "PGPStream", DateTime.Now, new byte[4096])) { if (bom) stream.WriteByteOrderMark(encoding); using (var writer2 = new StreamWriter(stream)) { writer2.WriteLine(line1); writer2.WriteLine(line2); writer2.WriteLine(line3); writer2.Flush(); } } } }