Bạn đang gặp khó khăn trong việc chỉnh sửa file PDF đã ký mà vẫn muốn giữ nguyên giá trị pháp lý của chữ ký? Bài viết này sẽ cung cấp cho bạn một hướng dẫn toàn diện về các phương pháp và công cụ để thực hiện điều đó một cách an toàn và hiệu quả. Chúng ta sẽ khám phá các khái niệm quan trọng như DocMDP, incremental update, và cách sử dụng GdPicture.NET SDK để chỉnh sửa file PDF đã ký một cách thông minh.
Trước khi đi sâu vào chi tiết, hãy cùng nhau tìm hiểu những kiến thức cơ bản về chữ ký điện tử và cách chúng hoạt động trong file PDF. Điều này sẽ giúp bạn hiểu rõ hơn về những hạn chế và khả năng khi chỉnh sửa một tài liệu đã được ký.
Một chữ ký điện tử là một phương pháp bảo mật để xác nhận tính xác thực của một tài liệu và đảm bảo rằng nó không bị thay đổi. Nó hoạt động như một dấu vân tay kỹ thuật số - duy nhất cho người ký và cực kỳ khó sao chép. Khi một file PDF được ký điện tử, bất kỳ thay đổi nào được thực hiện sau đó đều có thể dễ dàng bị phát hiện, giúp duy trì tính toàn vẹn của tài liệu.
Có hai phương pháp phổ biến để ký PDF:
Có hai loại chữ ký chính:
Hầu hết các trình đọc PDF có thể kiểm tra xem một chữ ký điện tử có hợp lệ hay không, giúp người nhận dễ dàng xác nhận tính xác thực của tài liệu.
Có nhiều tình huống khi ai đó có thể cần thực hiện thay đổi đối với một PDF đã ký. Có thể họ phát hiện ra một lỗi nhỏ, như một lỗi chính tả. Hoặc có thể họ muốn thêm một nhận xét hoặc một ghi chú nhanh để giúp người khác hiểu rõ hơn. Điều này thường xảy ra trong các lĩnh vực như luật, tài chính hoặc kinh doanh, nơi mọi người thường để lại phản hồi hoặc yêu cầu làm rõ ngay trên tài liệu - mà không cần bắt đầu lại từ đầu.
Khi chúng ta nói về PDF đã ký, chúng ta thường đề cập đến hai loại. Đầu tiên, có loại có chữ ký thông thường - có thể được nhập, vẽ bằng chuột hoặc màn hình cảm ứng hoặc được thêm dưới dạng hình ảnh. Điều này giống như ký một tờ giấy bằng tay rồi quét nó hoặc sử dụng một công cụ kỹ thuật số để thực hiện trực tuyến. Sau đó, có phiên bản an toàn hơn: PDF được ký điện tử. Chúng sử dụng mã hóa để khóa chữ ký và chứng minh tài liệu không bị thay đổi kể từ khi nó được ký. Vì vậy, nếu ai đó cố gắng chỉnh sửa nó sau khi ký, nó sẽ hiển thị. Lớp bảo mật bổ sung đó là một lý do lớn tại sao chữ ký điện tử được sử dụng trong các tài liệu chính thức hoặc nhạy cảm - chúng giúp đảm bảo rằng mọi thứ vẫn đúng như dự định.
Bây giờ, chúng ta sẽ khám phá các phương pháp cụ thể để chỉnh sửa file PDF đã ký mà không làm mất hiệu lực của chữ ký. Lưu ý rằng không phải tất cả các phương pháp đều phù hợp cho mọi loại chữ ký, vì vậy hãy chọn phương pháp phù hợp với tình huống của bạn.
Từ quan điểm pháp lý, một tài liệu đã ký sẽ không hợp lệ nếu có bất kỳ bằng chứng nào cho thấy tài liệu đó đã bị thay đổi sau khi ký. Hầu hết thời gian, thậm chí không thể sửa đổi PDF đã ký vì nội dung sẽ bị khóa và người dùng sẽ nhận được thông báo cảnh báo. Tuy nhiên, đôi khi, có thể hữu ích khi sửa đổi lỗi đánh máy hoặc thêm ghi chú vào tài liệu đã ký mà không ảnh hưởng đến chữ ký ban đầu và yêu cầu người ký xem lại toàn bộ tài liệu một lần nữa. Điều này đặc biệt đúng khi ký các hợp đồng dài, chẳng hạn. Tất nhiên, chúng ta không nói về việc cố gắng sửa đổi nội dung của tài liệu đã ký một cách dài dòng. Mọi người sẽ luôn sử dụng các thủ thuật và lỗ hổng phần mềm để đạt được điều này, nhưng có thể tương đối dễ dàng chứng minh rằng tài liệu đã bị giả mạo nếu cần. Và nói chung, nếu nội dung của tài liệu cần được chỉnh sửa đáng kể, mọi người sẽ cần phải ký lại.
Tùy thuộc vào ngành, quốc gia và lĩnh vực kinh doanh của bạn, có nhiều cách khác nhau để ký PDF.
Ở Liên minh Châu Âu, quy định eIDAS cho phép ba loại chữ ký điện tử:
Tổ chức yêu cầu chữ ký có trách nhiệm triển khai giao thức và phương pháp ký phù hợp. Ví dụ: ở hầu hết các quốc gia, bạn không thể sử dụng chữ ký điện tử đơn giản khi bán nhà. Nếu bạn làm như vậy, hành động đó sẽ bị coi là không hợp lệ vì về mặt pháp lý, công chứng viên lẽ ra phải sử dụng chữ ký điện tử đủ điều kiện.
Như chúng tôi đã nói trước đây, chữ ký điện tử phải hợp lệ về mặt kỹ thuật để tránh các vấn đề pháp lý. Điều đó có nghĩa là:
Là nhà phát triển giải pháp, bạn không có quyền gì đối với những gì người dùng có thể làm với tài liệu đã ký của họ (sẽ luôn có những người cố gắng chỉnh sửa các tài liệu không thể chỉnh sửa!). Nhưng bạn có thể phát triển các công cụ sẽ cung cấp các chữ ký hợp lệ mà mọi người sẽ tin tưởng.
Thông số kỹ thuật nói gì về việc sửa đổi chữ ký điện tử? Nếu chúng ta xem xét phiên bản mới nhất của thông số kỹ thuật PDF (ISO 32000-2/12.8 Chữ ký số), chúng ta có một số hiểu biết về cách triển khai các sửa đổi của PDF đã ký.
Trước PDF 2.0, bạn có thể triển khai Quyền sử dụng để sửa đổi PDF bằng chữ ký. Khái niệm này hiện đã lỗi thời.
Các tính năng được mô tả trong điều khoản phụ này đã bị phản đối với PDF 2.0.
Phương pháp biến đổi UR (bị phản đối trong PDF 2.0) sẽ được sử dụng để phát hiện các thay đổi đối với tài liệu sẽ làm mất hiệu lực chữ ký quyền sử dụng, được tham chiếu từ mục UR3 trong từ điển quyền (xem “Bảng 263 — Các mục trong từ điển quyền”). Từ điển tham số biến đổi (xem “Bảng 258 — Các mục trong từ điển tham số biến đổi UR”) chỉ định các quyền bổ sung sẽ được kích hoạt nếu chữ ký hợp lệ. Nếu chữ ký không hợp lệ vì tài liệu đã bị sửa đổi theo cách không được phép hoặc danh tính của người ký không được cấp các quyền mở rộng, thì các quyền bổ sung sẽ không được cấp.
Bộ xử lý PDF sửa đổi PDF, với chữ ký UR vượt quá các quyền được cấp bởi chữ ký đó, sẽ xóa chữ ký đó trước khi ghi PDF đã sửa đổi mới.
Chữ ký PDF triển khai cơ chế DocMDP (Phát hiện và Ngăn chặn Sửa đổi Tài liệu) để kiểm tra các sửa đổi. Phương pháp này có thể cho phép một số thay đổi. "MDP" là viết tắt của Phát hiện và Ngăn chặn Sửa đổi.
Phương pháp biến đổi DocMDP sẽ được sử dụng để phát hiện các sửa đổi liên quan đến trường chữ ký được ký bởi tác giả của tài liệu (người áp dụng chữ ký chứng nhận). Một tài liệu chỉ có thể chứa một trường chữ ký chứa phương pháp biến đổi DocMDP. Nó cho phép tác giả chỉ định những thay đổi nào được phép thực hiện đối với tài liệu và những thay đổi nào làm mất hiệu lực chữ ký của tác giả.
Ví dụ về các thay đổi có thể được cho phép:
Bản cập nhật gia tăng là một tính năng cho phép bạn thực hiện các thay đổi đối với PDF và lưu nó mà không làm mất hiệu lực bất kỳ chữ ký số hiện có nào. Các sửa đổi được thêm vào sau tệp đã ký, cung cấp lịch sử thay đổi thuận tiện.
Đặc tả PDF ISO 32000-2
LƯU Ý 1 Nếu một tài liệu đã ký được sửa đổi và lưu bằng bản cập nhật gia tăng (xem 7.5.6, “Bản cập nhật gia tăng”), dữ liệu tương ứng với phạm vi byte của chữ ký ban đầu sẽ được giữ lại.
Do đó, nếu chữ ký hợp lệ, có thể tạo lại trạng thái của tài liệu khi nó tồn tại vào thời điểm ký.
Hai lưu ý quan trọng cần ghi nhớ về các bản cập nhật gia tăng:
GdPicture.NET PDF SDK cho phép bạn sử dụng phương pháp cập nhật gia tăng để sửa đổi PDF đã ký bằng cách thêm các thay đổi sau tệp đã ký.
Dưới đây là một đoạn code ví dụ sử dụng GdPicture.NET để thêm ghi chú vào file PDF đã ký:
Using pdf = New GdPicturePDF
pdf.LoadFromFile("signed_document.pdf")
pdf.SetOrigin(PdfOrigin.PdfOriginTopLeft)
pdf.AddStickyNoteAnnotation(PdfStickyNoteAnnotationIcon.PdfAnnotationIconComment, 100, 100, "Author", "Subject", "This is a note.", 1, False, 0, 0, 0, 0, 0, 0, 0)
pdf.SaveToFileInc("signed_document_with_note.pdf")
End Using
Xem đầy đủ tài liệu trong hướng dẫn của chúng tôi.
Việc ký số PDF đảm bảo tính xác thực và toàn vẹn của tài liệu. Dưới đây là một ví dụ hoàn chỉnh sử dụng GdPicture.NET SDK. Bạn có thể tùy chỉnh khả năng hiển thị, hình thức, thuật toán băm và dấu thời gian.
GdPicturePDF pdf = new GdPicturePDF();
GdPictureStatus status = pdf.LoadFromFile("file_to_sign.pdf", false);
status = pdf.SetSignatureCertificateFromP12("your_digital_ID.pfx", "your_password");
status = pdf.SetSignatureInfo("Orpalis", "Important PDF", "Toulouse", "contact@orpalis.com");
pdf.SetSignaturePos(300, 100, 200, 100);
pdf.SetSignatureText("Signed by Orpalis", "", 12, Color.Navy, TextAlignment.TextAlignmentCenter, TextAlignment.TextAlignmentCenter, true);
string imageID = pdf.AddJpegImageFromFile("your_logo.jpg");
pdf.SetSignatureStampImage(imageID);
pdf.SetSignatureValidationMark(true);
pdf.SetSignatureCertificationLevel(PdfSignatureCertificationLevel.NotCertified);
pdf.SetSignatureHash(PdfSignatureHash.SHA512);
pdf.SetSignatureTimestampInfo("http://your.timestamp.server", "username", "password");
status = pdf.ApplySignature("signed_output.pdf", PdfSignatureMode.PdfSignatureModeAdobePPKMS, true);
Mẹo hỗ trợ đa chữ ký:
Để áp dụng nhiều hơn một chữ ký:
pdf.LoadFromFile("signed_output.pdf", false)
Việc chỉnh sửa file PDF đã ký đòi hỏi sự cẩn trọng và hiểu biết về các phương pháp khác nhau. Bằng cách sử dụng các kỹ thuật như DocMDP và incremental update, cùng với các công cụ như GdPicture.NET SDK, bạn có thể thực hiện các thay đổi cần thiết mà không làm mất hiệu lực của chữ ký. Hãy luôn tuân thủ các quy định pháp lý và đảm bảo rằng mọi thay đổi đều được thực hiện một cách minh bạch và có trách nhiệm.
Tóm lại, đây là một vài điều cần ghi nhớ khi sửa đổi PDF đã ký:
Tham khảo các tính năng ký PDF của GdPicture's SDK hoặc liên hệ với nhóm của chúng tôi nếu bạn có bất kỳ yêu cầu cụ thể nào.
Bài viết liên quan