using Kz.GammaTech.Cms;
using Kz.GammaTech.CPWrapper;
using Kz.GammaTech.Crypto;
using Kz.GammaTech.X509;
using System;
using System.Text;
using System.IO;
using System.Collections;
using Kz.GammaTech.X509.Store;
using Kz.GammaTech.Asn1.Cms;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {

            FileStream f = File.OpenRead(@"data.txt");
            byte[] content = new byte[f.Length];
            f.Read(content, 0, (int)f.Length);
            f.Close();


            f = File.OpenRead(@"pkcs7.sig");
            byte[] input = new byte[f.Length];
            f.Read(input, 0, (int)f.Length);
            f.Close();


            GostCMSDetached cms_detach_attr_ver = new GostCMSDetached();
            cms_detach_attr_ver.input = input;
            cms_detach_attr_ver.SignerCertificate = null; // будет использоваться тот сертификат, который вложен в pkcs7 (как вариант - можно загрузить из файла)
            cms_detach_attr_ver.content = content;

            if (cms_detach_attr_ver.VerifyCMS())
            {
                Console.WriteLine("Verify pkcs7 OK");
            }
            else
            {
                Console.WriteLine("Verify pkcs7 fail");
            }

            Console.ReadKey();

            return;
        }
    }
}
