示例#1
0
文件: Main.cs 项目: eimza/ESigner
        private void btnVerify_Click(object sender, EventArgs e)
        {
            SignHelper signHelper        = new SignHelper();
            string     signedERecetePath = tBoxSignedERecetePath.Text;
            string     verifyResultStr   = signHelper.verifySignature(signedERecetePath);

            MesajiIsle(verifyResultStr, 0);
        }
示例#2
0
文件: Main.cs 项目: eimza/ESigner
        private void btnAddParalelSignature_Click(object sender, EventArgs e)
        {
            SignHelper signHelper  = new SignHelper();
            string     eRecetePath = tBoxERecetePath.Text;
            string     estFilePath = signHelper.createParalelSignature(eRecetePath);

            if (estFilePath != null)
            {
                tBoxSignedERecetePath.Text = estFilePath;
                MesajiIsle(estFilePath + " konumunda paralel imzalı E-Reçete oluşturuldu.", 0);
            }
        }
示例#3
0
文件: Main.cs 项目: eimza/ESigner
        private void btnAddTimeStamp_Click(object sender, EventArgs e)
        {
            SignHelper signHelper        = new SignHelper();
            string     signedERecetePath = tBoxSignedERecetePath.Text;
            string     estFilePath       = signHelper.upgradeToEST(signedERecetePath);

            if (estFilePath != null)
            {
                tBoxSignedERecetePath.Text = estFilePath;
                MesajiIsle(estFilePath + " konumunda zaman damgalı imzalı E-Reçete oluşturuldu.", 0);
            }
        }
示例#4
0
文件: Main.cs 项目: eimza/ESigner
        // dll embed icin
        //// dll handler
        //System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
        //{
        //    string keyName = new AssemblyName(args.Name).Name;

        //    // If DLL is loaded then don't load it again just return
        //    if (_libs.ContainsKey(keyName)) return _libs[keyName];

        //    // using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(DllResourceName("itextsharp.dll")))  // <-- To find out the Namespace name go to Your Project >> Properties >> Application >> Default namespace
        //    using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("EsyaXMLSignatureExample." + keyName + ".dll"))  // <-- To find out the Namespace name go to Your Project >> Properties >> Application >> Default namespace
        //    {
        //        byte[] buffer = new BinaryReader(stream).ReadBytes((int)stream.Length);
        //        Assembly assembly = Assembly.Load(buffer);
        //        _libs[keyName] = assembly;
        //        return assembly;
        //    }
        //}

        // dll embed icin
        //private string DllResourceName(string ddlName)
        //{
        //    string resourceName = string.Empty;
        //    foreach (string name in Assembly.GetExecutingAssembly().GetManifestResourceNames())
        //    {
        //        if (name.EndsWith(ddlName))
        //        {
        //            resourceName = name;
        //            break;
        //        }
        //    }
        //    return resourceName;
        //}

        private void btnEReceteImzala_Click(object sender, EventArgs e)
        {
            SignHelper signHelper = new SignHelper();

            // string signedFilePath = signHelper.eReceteImzala(tBoxERecetePath.Text, tBoxSignedERecetePath.Text);
            // dosyayiBase64Yaz(signedFilePath);
            if (Program.ParamXML == "" && Program.ParamPath == "" && tBoxERecetePath.Text == "")
            {
                MesajiIsle("EReçete verisi string olarak da path olarak da gelmedi, kaynak dosyayı seçiniz!", 0);
            }
            if (rbString.Checked && Program.ParamXML == "")
            {
                MesajiIsle("EReçete verisi string olarak gelmedi, kaynak dosya üzerinden işlem yapınız!", 0);
                rbFile.Checked = true;
                if (Program.ParamOto == "0")
                {
                    return;
                }
                //return;
            }
            if (Program.Hata == 1)
            {
                Environment.Exit(1);
            }
            if (tbPinKodu.Text == "")
            {
                MesajiIsle("Pin kodunu giriniz!", 0);
                if (Program.ParamOto == "0")
                {
                    return;
                }
                if (Program.ParamOto == "1")
                {
                    Environment.Exit(1);
                }
                //return;
            }
            if (Program.Hata == 1)
            {
                Environment.Exit(1);
            }
            // dosya yapisi kontrolu
            if (Program.ParamOto != "1")
            {
                if (txtXML.Text.Contains("<ereceteBilgisi>") && txtXML.Text.Contains("</ereceteBilgisi>") && txtXML.Text.Contains("<takipNo>") && txtXML.Text.Contains("<doktorTcKimlikNo>"))
                {
                    //    if (MessageBox.Show("E-Reçete bilgisini 'Güvenli Elektronik İmza' ile imzalamak istediğinizden emin misiniz?", "Dikkat", MessageBoxButtons.OKCancel) == DialogResult.OK)
                    //    { }
                    //    else MesajiIsle("", 1);
                }
                else
                {
                    if (txtXML.Text.Contains("<") && txtXML.Text.Contains("</") && txtXML.Text.Contains(">"))
                    {
                        //if (MessageBox.Show("İmzalanacak bilgi, bir XML ve e-Reçete değil. 'Güvenli Elektronik İmza' ile imzalamak istediğinizden emin misiniz?", "Dikkat", MessageBoxButtons.OKCancel) == DialogResult.OK)
                        //{ }
                        //else MesajiIsle("", 1);
                    }
                    else
                    {
                        if (MessageBox.Show("İmzalanacak XML, geçerli bir e-Reçete değil. Yine de 'Güvenli Elektronik İmza' ile imzalamak istediğinizden emin misiniz?", "Dikkat", MessageBoxButtons.OKCancel) == DialogResult.OK)
                        {
                        }
                        else
                        {
                            MesajiIsle("", 1);
                        }
                    }
                }
            }
            if (Program.Hata == 1)
            {
                Environment.Exit(1);
            }
            Program.PinKodu = tbPinKodu.Text;
            string XML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + signHelper.eReceteImzala(tBoxERecetePath.Text, tBoxSignedERecetePath.Text, Program.ParamXML, cbDosyayaYaz.Checked);

            if (Program.Hata == 1)
            {
                Environment.Exit(1);
            }
            // dosyaya yazilacaksa eReceteImzala icinde imzalanmis xsig dosyasi olusuyor
            // sonra bu dosya alttaki prosedurde okunup base64'e cevriliyor ve sonu _64.txt olacak sekilde kaydediliyor.
            if (cbDosyayaYaz.Checked)
            {
                dosyayiBase64Yaz(tBoxSignedERecetePath.Text.Replace(".xml", ".xsig"));
            }
            // ONEMLI, base64 olarak console ciktisi veriyorum. ikazanci
            byte[] signStream = System.Text.Encoding.UTF8.GetBytes(XML);
            // hata varsa parametreyi geri dondurmeden evvel cik
            if (Program.Hata == 1)
            {
                Environment.Exit(1);
            }
            System.Console.WriteLine("esignerbase64:" + System.Convert.ToBase64String(signStream) + ":esignerbase64");
            if (XML != "")
            {
                Application.Exit();
            }
            //TextWriter tw = new StreamWriter(tBoxSignedERecetePath.Text.Replace(".xml", ".xsig")+"-String_64.txt");
            //// write a line of text to the file
            //tw.WriteLine(System.Convert.ToBase64String(signStream));
            //// close the stream
            //tw.Close();

            //Akıllı kartla doğrudan imzala
            // string signedFilePath = signHelper.eReceteImzala_SmartCardSigner(tBoxERecetePath.Text);

            // path donusunu kaldirip mesaji ereceteImzala'mnin icine aldim... ikazanci 20.6.2014
            //if (signedFilePath != null)
            //{
            //    tBoxSignedERecetePath.Text = signedFilePath;
            //    MessageBox.Show(signedFilePath + " konumunda imzalı E-Reçete oluşturuldu.");
            //}


            // string eReceteImzalaBase64 = signHelper.eReceteImzalaBase64(tBoxERecetePath.Text);
            //MessageBox.Show(eReceteImzalaBase64);
        }