Exemple #1
0
    protected void CmsStartProcess()
    {
        EFDal ed = new EFDal();
        string  personelTCKimlikNo = ed.UserNamedenPersonelTCKimlikNoDon(Context.User.Identity.Name);
        string[] dahaONcedenImzalanmisBelgeler = new string[] {};

        try
        {
            EgaTransIdler.Clear();
            string DataToBeSigned = string.Empty;

            string tut = Session["ImzalanacakBelgelerinIdleri"].ToString();
            string[] ImzalanacakDosyaIdler = tut.Split(',');

            int i = 0;
            foreach (string imzalanacakDosyaId in ImzalanacakDosyaIdler)
            {
                string tempfilePath = ed.ImzaliDosyalarIddenPathDon(Convert.ToInt32(imzalanacakDosyaId));
                if (!ed.PersonelDokumaniDahOnceImzalamisMi(tempfilePath, personelTCKimlikNo))
                //if(true)
                {
                    ServiceCMS client = new ServiceCMS();
                    CmsHashRequestType request = new CmsHashRequestType();

                    byte[] bytedata = File.ReadAllBytes(tempfilePath);

                    request.DeviceType = GeneralTypesDeviceType.SmartCard;
                    request.OriginalData = bytedata;

                    request.OriginalDataSha1Hash = SHA1Managed.Create().ComputeHash(request.OriginalData);
                    request.ReqAppId = "12345"; // Guid.NewGuid().ToString();
                    //EgaTransId = request.ReqAppId;

                    Session["OriginalCMSSha1Hash"] = request.OriginalDataSha1Hash;
                    CmsHashResponseType response = client.CalculateHash(request);
                    if (response.ResponseInfo.ResultCode == GeneralTypesResultCodeType.Successful)
                    {

                        EgaTransId = response.ResponseInfo.EgaTransId;
                        //Session["EgaTransId"] = EgaTransId;
                        EgaTransIdler.Add(Convert.ToInt32(imzalanacakDosyaId), EgaTransId);
                        string cmsImzaTipi = "P";
                        if (response.CmsImzaTipi == GeneralTypesCmsImzaTipi.Paralel)
                            cmsImzaTipi = "P";
                        else
                            cmsImzaTipi = "S";

                        DataToBeSigned += response.DataToBeSigned + "é" + "SHA256" + "é" + cmsImzaTipi + "é";
                    }
                }
                else
                {
                    dahaONcedenImzalanmisBelgeler[i] = ed.FindImzaliDosya(Convert.ToInt32(imzalanacakDosyaId)).Tables[0].Rows[0]["IstId"].ToString();
                    lblUyari.Text += dahaONcedenImzalanmisBelgeler[i];//ed.FindImzaliDosya(Convert.ToInt32(imzalanacakDosyaId)).Tables[0].Rows[0]["IstId"].ToString()+"<br/>";
                }
                i++;
            }

            //ltrApplet.Text = String.Format(appletTag, appletPath, DataToBeSigned);
            //string personelTCKimlikNo = ed.UserNamedenPersonelTCKimlikNoDon(Context.User.Identity.Name);

            //Sadece log olmuş kullanıcının kimliği ile imzanın kimliği uyuşursa imza işlemine devam edeilecek..
            ltrApplet.Text = String.Format(appletTag, appletPath, DataToBeSigned, ed.UserNamedenPersonelTCKimlikNoDon(Context.User.Identity.Name));

            if (dahaONcedenImzalanmisBelgeler.Count() > 0)
            {
                lblUyari.Text = lblUyari.Text.Insert(0,"Bazı belgeler daha önce imzalamış oldugunuz için 2. kez imzalanmayacak");
                notif1.Title = "Daha önce imzalanmış  belgeler";
                notif1.Show();
            }
        }
        catch (Exception e)
        {
            lblUyari.Text = "Hata: " + e.Message;

        }
    }
Exemple #2
0
    protected void CmsStartProcess()
    {
        EFDal  ed = new EFDal();
        string personelTCKimlikNo = ed.UserNamedenPersonelTCKimlikNoDon(Context.User.Identity.Name);

        string[] dahaONcedenImzalanmisBelgeler = new string[] {};

        try
        {
            EgaTransIdler.Clear();
            string DataToBeSigned = string.Empty;

            string   tut = Session["ImzalanacakBelgelerinIdleri"].ToString();
            string[] ImzalanacakDosyaIdler = tut.Split(',');

            int i = 0;
            foreach (string imzalanacakDosyaId in ImzalanacakDosyaIdler)
            {
                string tempfilePath = ed.ImzaliDosyalarIddenPathDon(Convert.ToInt32(imzalanacakDosyaId));
                if (!ed.PersonelDokumaniDahOnceImzalamisMi(tempfilePath, personelTCKimlikNo))
                //if(true)
                {
                    ServiceCMS         client  = new ServiceCMS();
                    CmsHashRequestType request = new CmsHashRequestType();

                    byte[] bytedata = File.ReadAllBytes(tempfilePath);

                    request.DeviceType   = GeneralTypesDeviceType.SmartCard;
                    request.OriginalData = bytedata;



                    request.OriginalDataSha1Hash = SHA1Managed.Create().ComputeHash(request.OriginalData);
                    request.ReqAppId             = "12345"; // Guid.NewGuid().ToString();
                    //EgaTransId = request.ReqAppId;

                    Session["OriginalCMSSha1Hash"] = request.OriginalDataSha1Hash;
                    CmsHashResponseType response = client.CalculateHash(request);
                    if (response.ResponseInfo.ResultCode == GeneralTypesResultCodeType.Successful)
                    {
                        EgaTransId = response.ResponseInfo.EgaTransId;
                        //Session["EgaTransId"] = EgaTransId;
                        EgaTransIdler.Add(Convert.ToInt32(imzalanacakDosyaId), EgaTransId);
                        string cmsImzaTipi = "P";
                        if (response.CmsImzaTipi == GeneralTypesCmsImzaTipi.Paralel)
                        {
                            cmsImzaTipi = "P";
                        }
                        else
                        {
                            cmsImzaTipi = "S";
                        }

                        DataToBeSigned += response.DataToBeSigned + "é" + "SHA256" + "é" + cmsImzaTipi + "é";
                    }
                }
                else
                {
                    dahaONcedenImzalanmisBelgeler[i] = ed.FindImzaliDosya(Convert.ToInt32(imzalanacakDosyaId)).Tables[0].Rows[0]["IstId"].ToString();
                    lblUyari.Text += dahaONcedenImzalanmisBelgeler[i];//ed.FindImzaliDosya(Convert.ToInt32(imzalanacakDosyaId)).Tables[0].Rows[0]["IstId"].ToString()+"<br/>";
                }
                i++;
            }

            //ltrApplet.Text = String.Format(appletTag, appletPath, DataToBeSigned);
            //string personelTCKimlikNo = ed.UserNamedenPersonelTCKimlikNoDon(Context.User.Identity.Name);


            //Sadece log olmuş kullanıcının kimliği ile imzanın kimliği uyuşursa imza işlemine devam edeilecek..
            ltrApplet.Text = String.Format(appletTag, appletPath, DataToBeSigned, ed.UserNamedenPersonelTCKimlikNoDon(Context.User.Identity.Name));

            if (dahaONcedenImzalanmisBelgeler.Count() > 0)
            {
                lblUyari.Text = lblUyari.Text.Insert(0, "Bazı belgeler daha önce imzalamış oldugunuz için 2. kez imzalanmayacak");
                notif1.Title  = "Daha önce imzalanmış  belgeler";
                notif1.Show();
            }
        }
        catch (Exception e)
        {
            lblUyari.Text = "Hata: " + e.Message;
        }
    }