HƯỚNG DẪN KIỂM TRA CHỮ KÝ SỐ TRÊN FILE XML BẰNG PHẦN MỀM CHILKAT

CheckInvoice - Hiện nay việc điện tử hóa các giao dịch của doanh nghiệp với cơ quan nhà nước và giữa các doanh nghiệp với nhau ngày càng trở lên phổ biến. Định dạng dữ liệu chủ yếu được sử dụng là XML. Tuy nhiên việc đọc và xác minh nội dung có trong file XML nhất là xác minh chữ ký điện tử có trên file XML còn nhiều khó khăn, bất cập.


Điều 5. Định dạng hóa đơn điện tử (Thông tư số 68/2019/TT-BTC)

1. Định dạng hóa đơn điện tử là tiêu chuẩn kỹ thuật quy định kiểu dữ liệu, chiều dài dữ liệu của các trường thông tin phục vụ truyền nhận, lưu trữ và hiển thị hóa đơn điện tử. Định dạng hóa đơn điện tử sử dụng ngôn ngữ định dạng văn bản XML (XML là chữ viết tắt của cụm từ tiếng Anh "eXtensible Markup Language" được tạo ra với mục đích chia sẻ dữ liệu điện tử giữa các hệ thống công nghệ thông tin).


Trong bài viết này, tôi sẽ hướng dẫn cách bạn kiểm tra chữ ký điện tử trên file XML có đúng theo các tiêu chuẩn quốc tế hay không, nội dung có còn nguyên vẹn hay đã bị chỉnh sửa sau khi ký điện tử bằng phần mềm Chilkat Online


Chilkat Software Inc., được thành lập vào năm 1998, là một công ty phần mềm có trụ sở tại Chicago, Illinois - Hoa Kỳ. Chilkat là một API đa ngôn ngữ, đa nền tảng cung cấp hơn 90 lớp cho nhiều giao thức, định dạng và thuật toán Internet. Chilkat phát triển, tiếp thị và cung cấp các thành phần và thư viện phần mềm được hàng ngàn công ty và tổ chức trên toàn thế giới tin tưởng và sử dụng.

Xem thêm thông tin: https://www.chilkatsoft.com/corporate.asp


1. Mở file XML để lấy thông tin

*Mở bằng Notepad: Click chuột phải vào file XML => Edit


*Mở bằng Notepad ++

Link tải phần mềm: https://github.com/notepad-plus-plus/notepad-plus-plus/releases/download/v7.9.2/npp.7.9.2.Installer.exe


* Mở trên Winrar nếu file XML đang được nén trong file ZIP




2. Nhập dữ liệu và kiểm tra trên phần mềm Chilkat


Truy cập vào link này: https://tools.chilkat.io/xmlDsigVerify.cshtml



3. Đọc và giải thích các thông số kết quả kiểm tra file XML

NumSignatures: Số lượng chữ ký điện tử có trên file XML

Trên mỗi chữ ký số sẽ có 3 dòng thể hiện kết quả kiểm tra:

*Dòng thứ nhất: Tính chất hợp lệ của chữ ký điện tử (về mặt cấu trúc, thuật toán mã hóa), dòng này có 2 trạng thái:

   - Signature Verified (Chữ ký đã được xác minh hợp lệ)

  - Signature is Invalid (Chữ ký không hợp lệ)


*Dòng thứ hai: Number of Reference Digests = 1 (Số lượng thông báo tham chiếu có trên file XML) - Không cần quan tâm nhiều tới thông số này


*Dòng thứ ba: Dòng này thể hiện kết quả của việc tính toán thông báo tham chiếu, dùng để xác định thông báo tham chiếu có hợp lệ không, có khớp với thông báo trong nội dung XML không. Từ đó kết luận nội dung file XML có nguyên vẹn không.

   - Reference 1 digest is invalid (Thông báo tham chiếu 1 không hợp lệ): Nếu ra thông số này thì người dùng không thể kiểm tra được tính toàn vẹn của file XML.

  - Reference 1 digest is valid (Thông báo tham chiếu 1 hợp lệ): Nếu ra thông báo này nghĩa là nội dung file XML còn nguyên vẹn, chưa bị chỉnh sửa sau khi ký điện tử.

  - Reference 1 digest is invalid because the computed digest differs from the digest in the XML (Thông báo tham chiếu 1 không hợp lệ vì thông báo được tính toán khác với thông báo trong XML): Thông báo này thể hiện việc nội dung XML không còn nguyên vẹn sau khí ký điện tử, có thể do lập trình phần mềm ký điện tử bị lỗi hoặc do người dùng đã sửa nội dung file XML.


Như vậy, kết quả kiểm chữ ký điện tử trên file XML có kết quả ở dòng thứ nhất là Signature Verified và dòng thứ 3 là Reference 1 digest is valid thì sẽ phù hợp với tiêu chuẩn, thông lệ quốc tế.


Hiện tại, kết quả kiểm tra nội dung file XML trên phần mềm đọc và kiểm tra hóa đơn điện tử XML online tại website https://checkinvoice.vn tương đồng với kết quả kiểm tra thủ công trên phần mềm Chilkat Online với cả 2 thông số là tính hợp lệ của chữ ký và tính toàn vẹn của nội dung XML.


Liên hệ tư vấn và hỗ trợ: 

Fanpage Check Invoice: https://www.facebook.com/CheckInvoice/

Group CỘNG ĐỒNG KẾ TOÁN: https://www.facebook.com/groups/congdongketoan/

Group Zalo: https://zalo.me/g/cgabzt858

Hotline: 0888.222.866