/// <summary> /// Создание ЭЦП файла /// </summary> /// <param name="filename">Имя файла, который мы хотим подписать</param> static void CreateFilesOfSign(string filename) { Encoding enc = Encoding.Default; byte[] test_byte = File.ReadAllBytes(filename); // байтовое представление исходного файла FileStream Stream = new FileStream("SecretKey.txt", FileMode.Open, FileAccess.Read); StreamReader Reader = new StreamReader(Stream); string D = Reader.ReadLine(); string N = Reader.ReadLine(); Reader.Close(); Stream.Close(); BigInt32 d = new BigInt32(D); BigInt32 n = new BigInt32(N); BigInt32 Sign = RSA.CreateSignature(test_byte, d, n); // ЭЦП файла string FileNameIsSignature = "Sign_" + filename; Stream = new FileStream(FileNameIsSignature, FileMode.Create, FileAccess.Write); StreamWriter Writer = new StreamWriter(Stream); Writer.WriteLine(Sign); Writer.WriteLine(filename); Writer.Close(); Stream.Close(); Stream = new FileStream(FileNameIsSignature, FileMode.Append, FileAccess.Write); BinaryWriter WriterByte = new BinaryWriter(Stream); WriterByte.Write(test_byte); WriterByte.Close(); Console.WriteLine("Cоздан файл: {0}", FileNameIsSignature); }