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; } }
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; } }