public static String GetHashTypeRectangleText(int numberPage, String src, X509Certificate[] certChain) { SignPdfFile pdfSig = new SignPdfFile(); DisplayConfig displayConfig = DisplayConfig.generateDisplayConfigRectangleText(numberPage, 10, 10, 200, 80, null, DisplayConfig.SIGN_TEXT_FORMAT_4, CertUtils.GetCN(certChain[0]), "", "", DisplayConfig.DATE_FORMAT_1); String base64Hash = pdfSig.createHash(src, certChain, displayConfig); var session = System.Web.HttpContext.Current.Session; session["pdfSig"] = pdfSig; return(base64Hash); }
public static String GetHashTypeRectangleText2_ExistedSignatureField(String src, X509Certificate[] certChain, String displayText, String fieldName) { SignPdfFile pdfSig = new SignPdfFile(); //DisplayConfig displayConfig = DisplayConfig.generateDisplayConfigRectangleText(1, 10, 10, 200, 80, // DisplayConfig.SIGN_TEXT_FORMAT_4, "Dương Ngọc Khánh", "Kiểm tra", "Hà Nội", DisplayConfig.DATE_FORMAT_1); DisplayConfig displayConfig = DisplayConfig.generateDisplayConfigRectangleText_ExistedSignatureField(1, 10, 10, 200, 80, displayText, null, CertUtils.GetCN(certChain[0]), "", "", DisplayConfig.DATE_FORMAT_1); String base64Hash = pdfSig.createHashExistedSignatureField(src, certChain, displayConfig, fieldName); var session = System.Web.HttpContext.Current.Session; session["pdfSig"] = pdfSig; return(base64Hash); }
public static String GetHashTypeImage_ExistedSignatureField(String src, X509Certificate[] certChain, int numberPage, string urlPath, float coorX, float coorY, float width, float height) { SignPdfFile pdfSig = new SignPdfFile(); //DisplayConfig displayConfig = DisplayConfig.generateDisplayConfigImage_ExistedSignatureField(numberPage // , coorX, coorY, width, height, "", "", "", urlPath); DisplayConfig displayConfig = DisplayConfig.generateDisplayConfigImageDefault(numberPage , coorX, coorY, width, height, urlPath); String base64Hash = pdfSig.createHash(src, certChain, displayConfig); var session = System.Web.HttpContext.Current.Session; session["pdfSig"] = pdfSig; return(base64Hash); }
public static String GetHashTypeRectangleTextDisplayConfigTableDefault(int numberPage, String src, X509Certificate[] certChain, out string file_dest) { var lst = new List <string>(); lst.Add("321312321323"); SignPdfFile pdfSig = new SignPdfFile(); DisplayConfig displayConfig = DisplayConfig.generateDisplayConfigTableDefault(numberPage, lst.ToArray()); file_dest = src.Replace(".pdf", ""); file_dest = file_dest + "table" + ".pdf"; pdfSig.addPageEmpty(src, file_dest, displayConfig); String base64Hash = pdfSig.createHash(src, certChain, displayConfig); var session = System.Web.HttpContext.Current.Session; session["pdfSig"] = pdfSig; return(base64Hash); }
public ActionResult InsertSignatrue(string signatureBase64, string fileName) { var statusResultInsertSignature = "error"; var descErrorInsertSignature = ""; var signedFileName = ""; try { if (signatureBase64 == null || signatureBase64.Trim().Length == 0) { descErrorInsertSignature = "Signature is empty"; return(Json(new { statusResultInsertSignature = statusResultInsertSignature, descErrorInsertSignature = descErrorInsertSignature, signedFileName = signedFileName }, JsonRequestBehavior.AllowGet)); } if (fileName == null || fileName.Trim().Length == 0 || fileName.IndexOf(".pdf") == -1) { descErrorInsertSignature = "File Name is empty"; return(Json(new { statusResultInsertSignature = statusResultInsertSignature, descErrorInsertSignature = descErrorInsertSignature, signedFileName = signedFileName }, JsonRequestBehavior.AllowGet)); } byte[] signByteArray = Convert.FromBase64String(signatureBase64); if (signByteArray == null || signByteArray.Length == 0) { descErrorInsertSignature = "Định dạng chữ ký không hợp lệ"; return(Json(new { statusResultInsertSignature = statusResultInsertSignature, descErrorInsertSignature = descErrorInsertSignature, signedFileName = signedFileName }, JsonRequestBehavior.AllowGet)); } var session = System.Web.HttpContext.Current.Session; if (session["pdfSig"] != null) { try { pdfSig = session["pdfSig"] as SignPdfFile; } catch (Exception ex) { Logger.Error($"{DateTime.Now.ToString("HH:mm:ss dd/MM/yyyy")} InsertSignatrue {ex.Message} {JsonConvert.SerializeObject(ex)}"); descErrorInsertSignature = "Không tìm thấy phiên làm việc"; return(Json(new { statusResultInsertSignature = statusResultInsertSignature, descErrorInsertSignature = descErrorInsertSignature, signedFileName = signedFileName }, JsonRequestBehavior.AllowGet)); } } if (pdfSig == null) { descErrorInsertSignature = "Không tìm thấy phiên làm việc"; return(Json(new { statusResultInsertSignature = statusResultInsertSignature, descErrorInsertSignature = descErrorInsertSignature, signedFileName = signedFileName }, JsonRequestBehavior.AllowGet)); } string HCC_FILE_PDF = GetUrlFileDefaut(); string[] stringSeparators = new string[] { ".pdf" }; String[] chainBase64 = fileName.Split(stringSeparators, StringSplitOptions.RemoveEmptyEntries); String name = fileName.Split(stringSeparators, StringSplitOptions.RemoveEmptyEntries)[0] + "_signed"; String ext = "pdf"; bool exists = System.IO.File.Exists(Path.Combine(HCC_FILE_PDF, name + "." + ext)); if (exists) { int index = 1; String name_2 = name + "_" + index + "." + "_signed_1"; String path = Path.Combine(HCC_FILE_PDF, name_2 + "." + ext); while (System.IO.File.Exists(path)) { index++; name_2 = name + "_" + index + "." + "_signed_2"; path = Path.Combine(HCC_FILE_PDF, name_2 + "." + ext); } name = name_2; } TimestampConfig timestampConfig = new TimestampConfig(); timestampConfig.UseTimestamp = false; if (!pdfSig.insertSignature(signatureBase64, Path.Combine(HCC_FILE_PDF, name + "." + ext), timestampConfig)) { descErrorInsertSignature = "Insert signature into file fail."; return(Json(new { statusResultInsertSignature = statusResultInsertSignature, descErrorInsertSignature = descErrorInsertSignature, signedFileName = signedFileName }, JsonRequestBehavior.AllowGet)); } else { #region lưu đường dẫn file rác var filecu = _fileKyRepos.FirstOrDefault(x => x.DuongDanTep == fileName); if (filecu != null) { filecu.DaSuDung = false; _fileKyRepos.Update(filecu); #region lưu đường dẫn file đã ký var fileKy = new LogFileKy { HoSoId = filecu.HoSoId, ThuTucId = filecu.ThuTucId, DuongDanTep = name + "." + ext, LoaiTepDinhKem = filecu.LoaiTepDinhKem, DaSuDung = true }; _fileKyRepos.Insert(fileKy); #endregion } #endregion statusResultInsertSignature = "success"; signedFileName = name + "." + ext; } return(Json(new { statusResultInsertSignature = statusResultInsertSignature, descErrorInsertSignature = descErrorInsertSignature, signedFileName = signedFileName }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { Logger.Error($"{DateTime.Now.ToString("HH:mm:ss dd/MM/yyyy")} InsertSignatrue {ex.Message} {JsonConvert.SerializeObject(ex)}"); descErrorInsertSignature = "Lỗi trong quá trình xử lý"; return(Json(new { statusResultInsertSignature = statusResultInsertSignature, descErrorInsertSignature = descErrorInsertSignature, signedFileName = signedFileName }, JsonRequestBehavior.AllowGet)); } }