Tham chiếu, biến đổi và chuẩn hóa XML
Một chữ ký XML chứa một hoặc nhiều Reference chỉ tới dữ liệu cần bảo vệ. Trước khi tính giá trị băm, dữ liệu có thể đi qua các phép biến đổi và bước chuẩn hóa XML. Bộ xác minh phải thực hiện lại đúng chuỗi xử lý này rồi so sánh DigestValue; sau đó mới xác minh SignatureValue trên SignedInfo bằng khóa công khai trong chứng thư.
Do XML có nhiều cách biểu diễn tương đương về mặt cú pháp, việc tự mở rồi lưu lại bằng trình soạn thảo có thể đổi namespace, encoding, khoảng trắng hoặc thứ tự khai báo. Một thay đổi tưởng như chỉ để “làm đẹp” vẫn có thể làm giá trị băm không còn khớp. Nên giữ nguyên file gốc nhận từ bên phát hành và thao tác trên một bản sao khi cần xem nội dung.
- Reference
- Cho biết đối tượng nào được chữ ký bảo vệ; không mặc định mọi byte trong tệp đều nằm trong cùng phạm vi ký.
- DigestValue
- Giá trị băm của dữ liệu sau khi áp dụng biến đổi; sai khác cho thấy dữ liệu tham chiếu không còn khớp.
- SignedInfo
- Tập hợp thuật toán và tham chiếu được chuẩn hóa trước khi xác minh giá trị chữ ký.
- KeyInfo và chứng thư
- Cung cấp khóa hoặc chứng thư hỗ trợ xác minh, nhưng vẫn cần chuỗi CA và chính sách tin cậy riêng.
