Hướng dẫn

Xoá chữ ký số khỏi file XML, bỏ ngày ký: làm được gì, hỏng gì và cách ký lại đúng

Nguyễn Khả HợpĐăng ngày 11 phút đọc
Trong bài viết
  1. 01Chữ ký số nằm ở đâu trong file XML
  2. 02Thử nghiệm: xoá, sửa từng phần rồi kiểm tra lại
  3. 03File có nhiều người ký: xoá chữ ký này có làm hỏng chữ ký kia không?
  4. 04Cách xoá chữ ký số khỏi file XML
  5. 05Muốn bỏ hoặc đổi ngày ký thì sao?
  6. 06Tờ khai thuế XML: sửa ở phần mềm kê khai, không sửa tay file
  7. 07Kiểm tra lại file XML sau khi xoá hoặc ký lại

Xoá chữ ký số khỏi file XML được không, bỏ hay sửa ngày ký được không? Kết quả 10 lần thử thật, cách xoá đúng, cách ký lại và trường hợp tờ khai thuế.

Câu hỏi "cách xoá chữ ký khỏi file XML" thường đến từ hai tình huống: ký nhầm chứng thư hoặc nhầm file và muốn ký lại, hoặc cần sửa một con số sau khi đã ký. Để trả lời bằng kết quả thật thay vì phỏng đoán, tác giả đã ký một file XML mẫu theo chuẩn XMLDSig rồi thử xoá, sửa từng phần và kiểm tra lại chữ ký sau mỗi lần thử.

Chữ ký số nằm ở đâu trong file XML

Chữ ký số trên file XML theo chuẩn XMLDSig của W3C là một phần tử Signature, thường đặt ở cuối file và có thể mang tiền tố như ds:Signature. Phần tử Signature chứa SignedInfo (danh sách phần được ký cùng giá trị băm của từng phần), SignatureValue (giá trị chữ ký tạo bằng khoá bí mật trong USB Token) và KeyInfo (chứng thư của người ký).

Ngày ký không bắt buộc trong chuẩn XMLDSig. Khi phần mềm ký có ghi ngày ký, thẻ SigningTime thường nằm trong một phần tử Object hoặc phần SignedProperties ngay trong khối Signature, và phần đó cũng được liệt kê trong SignedInfo để được ký cùng dữ liệu. Nhờ vậy người nhận không sửa được ngày ký mà không bị phát hiện.

Thử nghiệm: xoá, sửa từng phần rồi kiểm tra lại

Cách thử: một file XML mẫu dạng tờ khai (mã số thuế, kỳ khai, tổng tiền) được ký kiểu enveloped, phủ toàn bộ file, kèm ngày ký trong phần được ký. Chữ ký dùng RSA 2048 bit, băm SHA-256, chứng thư tự tạo để thử nghiệm. Việc ký và kiểm tra chạy bằng thư viện System.Security.Cryptography.Xml của Microsoft .NET 9, ngày 02/11/2026. Mỗi dòng dưới đây là một lần sửa trên bản sao của file vừa ký.

Lần thửThao tácKết quả kiểm tra
1Không sửa gìHợp lệ
2Sửa tổng tiền từ 15000000 thành 16000000Không hợp lệ
3Xoá trọn khối SignatureFile không còn chữ ký; dữ liệu giống hệt bản trước khi ký
4Sửa ngày ký từ 20/10 sang 25/10Không hợp lệ
5Xoá riêng phần ghi ngày ký, giữ phần còn lại của chữ kýKhông hợp lệ (thư viện báo tham chiếu hỏng)
6Chỉ thêm một lần xuống dòng giữa hai thẻ dữ liệuKhông hợp lệ
7Ký lại file đã xoá chữ ký ở lần thử 3Hợp lệ
Kết quả 7 lần thử trên file XML một chữ ký

Kết quả thử cho thấy ba điều. Thứ nhất, xoá trọn khối Signature là thao tác sạch: file quay về đúng trạng thái trước khi ký và ký lại được bình thường. Thứ hai, ngày ký được bảo vệ như dữ liệu: sửa hay xoá ngày ký đều làm chữ ký hỏng. Thứ ba, chữ ký XML nhạy với cả khoảng trắng: chỉ cần mở file bằng phần mềm tự định dạng lại rồi lưu, chữ ký cũng báo không hợp lệ.

File có nhiều người ký: xoá chữ ký này có làm hỏng chữ ký kia không?

Lần thử tiếp theo dùng cùng file mẫu, cho hai người ký lần lượt theo cùng một cách: mỗi chữ ký phủ toàn bộ file và chỉ tự loại chính nó ra khỏi phần được ký (phép biến đổi enveloped).

Lần thửThao tácKết quả kiểm tra
8Hai người ký lần lượt, không sửa gìChữ ký người ký trước: không hợp lệ. Chữ ký người ký sau: hợp lệ
9Xoá chữ ký của người ký sauChữ ký người ký trước hợp lệ trở lại
10Xoá chữ ký của người ký trướcChữ ký người ký sau không hợp lệ
Kết quả 3 lần thử trên file XML hai chữ ký ký cùng một kiểu

Lần thử 8 trông như lỗi nhưng đúng với chuẩn XMLDSig: chữ ký thứ hai được chèn vào file sau khi chữ ký thứ nhất đã tính giá trị băm, nên với chữ ký thứ nhất, file đã bị thêm nội dung. Ngược lại, chữ ký thứ hai đã ký lên cả chữ ký thứ nhất, nên xoá chữ ký thứ nhất cũng là sửa dữ liệu của chữ ký thứ hai. Vì vậy định dạng XML cho nhiều người ký phải chỉ rõ phần được ký của từng chữ ký, ví dụ chỉ ký vào một phần dữ liệu có mã định danh riêng, hoặc loại mọi chữ ký khác ra khỏi phần được ký.

Với file nhiều chữ ký, chỉ xoá chữ ký của người ký sau cùng, và kiểm tra lại các chữ ký còn lại sau khi xoá. Nếu cần bỏ chữ ký của người ký giữa chừng, cách an toàn là quay về file trước khi người đó ký và cho những người sau ký lại.

Vì sao XML phải chuẩn hoá trước khi băm, và nhiều người cùng ký PDF khác XML thế nào

Cách xoá chữ ký số khỏi file XML

  1. 1

    Giữ một bản sao file đã ký

    Sao chép file XML đã ký sang thư mục khác trước khi sửa. Bản đã ký là bằng chứng người ký đã ký nội dung gì, không nên mất.

  2. 2

    Mở bằng trình soạn thảo văn bản thuần

    Dùng Notepad++ hoặc Visual Studio Code. Không mở rồi lưu bằng trình duyệt hay phần mềm tự định dạng lại file, vì khoảng trắng thay đổi sẽ làm hỏng các chữ ký còn lại.

  3. 3

    Xoá trọn khối Signature

    Tìm thẻ mở Signature (có thể là ds:Signature) và thẻ đóng tương ứng, xoá toàn bộ từ thẻ mở đến hết thẻ đóng. Không xoá lẻ từng phần bên trong như ngày ký hay chứng thư: chữ ký còn lại sẽ là một chữ ký hỏng.

  4. 4

    Lưu đúng bảng mã cũ

    Lưu file với bảng mã như ban đầu, thường là UTF-8. Đổi bảng mã làm hỏng chữ tiếng Việt và các chữ ký khác trong file.

  5. 5

    Kiểm tra lại

    Tải file lên công cụ kiểm tra chữ ký số: file chỉ có một chữ ký sẽ báo không có chữ ký; file nhiều chữ ký thì các chữ ký còn lại phải vẫn hợp lệ.

Muốn bỏ hoặc đổi ngày ký thì sao?

Không bỏ hay đổi được ngày ký mà vẫn giữ chữ ký, như lần thử 4 và 5 đã cho thấy. Cách duy nhất là xoá chữ ký và ký lại, và ngày ký mới là thời điểm ký lại. Ngày ký mà phần mềm ghi thường lấy từ đồng hồ máy tính của người ký; chỉnh giờ máy để ký lùi ngày là ghi một thời điểm ký không có thật vào văn bản. Nếu chữ ký có dấu thời gian do tổ chức cung cấp dịch vụ cấp, thời điểm ký do máy chủ dấu thời gian xác nhận và người ký không tự đặt được.

Giờ ký trên máy người ký khác dấu thời gian thế nào, và vì sao thời điểm ký quan trọng khi chứng thư hết hạn

Tờ khai thuế XML: sửa ở phần mềm kê khai, không sửa tay file

Tờ khai thuế XML có cấu trúc do cơ quan thuế quy định. Sửa tay một con số trong file XML đã ký rồi ký lại có thể làm lệch các chỉ tiêu tính toán với nhau, còn ký lại đúng file XML đã nộp lỗi là một nguyên nhân hay gặp của lỗi "Chữ ký điện tử trên tờ khai không hợp lệ".

  • Tờ khai chưa nộp: mở lại tờ khai trong phần mềm kê khai (HTKK hoặc phần mềm của tổ chức T-VAN), sửa số liệu, kết xuất file XML mới vào một thư mục mới rồi ký file mới.
  • Tờ khai đã nộp và phát hiện sai sót: không xoá chữ ký để nộp lại file cũ, mà lập hồ sơ khai bổ sung. Theo khoản 5 Điều 12 Luật Quản lý thuế số 108/2025/QH15 (hiệu lực từ 01/7/2026), người nộp thuế được khai bổ sung trong thời hạn 05 năm kể từ ngày hết thời hạn nộp hồ sơ khai thuế của kỳ tính thuế có sai sót, trừ các trường hợp luật loại trừ như đang trong phạm vi thanh tra, kiểm tra.
  • Ký nhầm chứng thư (ví dụ chứng thư cá nhân thay vì chứng thư doanh nghiệp) mà chưa nộp: xoá file đã ký, kết xuất lại và ký bằng đúng chứng thư đã đăng ký với cơ quan thuế.

Ký tờ khai XML trên thuế điện tử, cổng dịch vụ công thuế và TaxOnline

Nộp tờ khai bị báo "Chữ ký điện tử trên tờ khai không hợp lệ": nguyên nhân và 3 cách xử lý

Kiểm tra lại file XML sau khi xoá hoặc ký lại

Sau khi xoá chữ ký hay ký lại, hãy kiểm tra file trước khi gửi đi. Công cụ kiểm tra chữ ký số của GoSign nhận file XML tối đa 10 MB, đọc từng khối Signature và báo hợp lệ, có cảnh báo hay không hợp lệ kèm lý do. Hồ sơ cần căn cứ chính thức thì đối chiếu thêm trên trang kiểm tra chữ ký số của Trung tâm Chứng thực điện tử quốc gia (neac.gov.vn).

Tải file XML lên để xem từng chữ ký còn hợp lệ không, không cần cài phần mềm

Căn cứ pháp lý & nguồn tham khảo

Câu hỏi thường gặp

Xoá chữ ký số khỏi file XML có làm mất dữ liệu không?

Không, nếu xoá trọn khối Signature. Trong thử nghiệm của tác giả, file sau khi xoá khối Signature giống hệt từng ký tự với file trước khi ký và ký lại được bình thường. Dữ liệu chỉ hỏng khi xoá sót, xoá lẹm sang thẻ khác hoặc lưu sai bảng mã.

Có bỏ được ngày ký trên chữ ký số file XML không?

Không bỏ được mà vẫn giữ chữ ký. Ngày ký, nếu phần mềm có ghi, nằm trong phần được ký; xoá hay sửa ngày ký thì chữ ký báo không hợp lệ. Muốn ngày ký khác thì phải xoá chữ ký và ký lại, ngày ký mới là thời điểm ký lại.

Mở file XML đã ký bằng Notepad rồi lưu lại có sao không?

Lưu lại mà nội dung, khoảng trắng và bảng mã không đổi thì chữ ký vẫn hợp lệ. Nhưng chỉ cần thêm một lần xuống dòng hay để phần mềm tự định dạng lại, chữ ký sẽ báo không hợp lệ. Nên giữ bản gốc và chỉ sửa trên bản sao.

Tờ khai thuế XML đã ký nhưng ghi sai số liệu thì làm sao?

Chưa nộp thì sửa trong phần mềm kê khai, kết xuất file XML mới rồi ký lại, không sửa tay file cũ. Đã nộp thì lập hồ sơ khai bổ sung; theo khoản 5 Điều 12 Luật Quản lý thuế số 108/2025/QH15, thời hạn khai bổ sung là 05 năm kể từ ngày hết hạn nộp hồ sơ khai thuế của kỳ có sai sót.

GoSign có xoá hoặc ký lại tờ khai thuế XML không?

Không. GoSign ký file XML nội bộ của doanh nghiệp bằng USB Token và có công cụ kiểm tra chữ ký trên file XML, nhưng không kê khai, không ký hay nộp tờ khai thuế. Tờ khai thuế ký bằng công cụ của Cục Thuế hoặc phần mềm của tổ chức T-VAN.

Tác giả

Nguyễn Khả Hợp

Người xây dựng GoSign, từ luồng trình ký đến phần ký số PDF, XML và ứng dụng GoSign Desktop Signer.

#Xoá chữ ký số file XML#Ký lại file XML#Ngày ký#XMLDSig#Tờ khai XML
Đọc thêm

Bài viết liên quan

Hướng dẫn11 phút đọc

Chữ ký số cho người lao động: loại nào dùng để ký hợp đồng lao động điện tử, đăng ký ở đâu, ai trả phí

Nghị định 337/2025 yêu cầu người lao động có chữ ký số khi ký hợp đồng lao động điện tử. So sánh VNeID, ký số từ xa, USB Token; cách đăng ký, ai trả phí.

Đọc tiếp
Hướng dẫn11 phút đọc

Đăng ký chữ ký số ở đâu, hồ sơ và thủ tục cho doanh nghiệp, cá nhân theo Nghị định 23/2025

Đăng ký, mua chữ ký số ở đâu: tổ chức được cấp phép, chọn USB Token hay ký từ xa, hồ sơ theo Điều 34 Nghị định 23/2025, các bước thủ tục và việc sau khi nhận.

Đọc tiếp
Hướng dẫn10 phút đọc

Lỗi "Chữ ký điện tử trên tờ khai không hợp lệ" khi nộp tờ khai thuế: nguyên nhân và 3 cách xử lý

Lỗi "Chữ ký điện tử trên tờ khai không hợp lệ" trên dichvucong.gdt.gov.vn thường do TCT SigningHub, HTKK cũ hoặc ký lại file XML cũ. 3 cách xử lý từng bước.

Đọc tiếp
Dùng thử miễn phí

Sẵn sàng ký số cho doanh nghiệp của bạn?

Bắt đầu dùng thử miễn phí hoặc để đội ngũ GoSign tư vấn giải pháp phù hợp nhất với quy mô và nghiệp vụ của bạn.