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à bán 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ở file XML bằng notepad

 

*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

 

Mở file XML 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

Kiểm tra trên shilkat

 

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

Kết quả kiểm tra trên chilkat

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:

kiểm tra tính toàn vẹn của file XML
*Dòng thứ nhất: Tính chất hợp lệ của chữ ký số (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ệ): 
    - 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

Tags: