CER/DER trong ASN.1 Encoding


Khi sử dụng BER để hiện thực dữ liêu, ta thấy rằng có khá nhiều chỗ tùy ý. Tức là cùng một thông tin có nhiều cách biểu diễn khác nhau. Khi sử dụng với trường hợp chữ kí Số, phát sinh ra nhiều vấn đề.

Để giải quyết những vấn đề đó, người ta thêm ràng buộc vào BER, và tạo ra CERDER.

Sự khác nhau chủ yếu giữa CERDER là về biểu diễn trường độ dài. Length(L). Trong khi DER sử dụng một định dạng với độ dài cố định, thì CER sử dụng định dạng với độ dài không có định,

Cụ thể, các điểm khác biệt được nêu dưới bảng sau:

CER DER
Trường độ dài Với kiểu cơ bản, độ dài =128 sẽ sử dụng
dạng dài. Còn kiểu cấu trúc, sử dụng dạng thay đổi được.
Dù kiểu cơ bản, hay cấu trúc thì đều cùng 1 quy tắc, độ dài =128 thì sử dụng dạng dài.
Kiểu logic TRUE luôn được biểu diễn là 1.
Kiểu dãy bit Các bit không sử dụng được gán là 0.

Với những dãy bit được định nghĩa thành 1 kiểu khác thì
các bit 0 phía sau sẽ được bỏ đi.

Trường hợp có giới hạn về kích thước kiểu, thì các bit 0 chỉ tồn tại khi cần thiết thôi.

Khi độ dài là 0, trường độ dài có giá trị 1, nội dung sẽ là 1 Octet toàn 0.

Kiểu dãy bit

Kiểu chuỗi Octet (byte)

Kiểu chuỗi kí tự

Nếu dưới 1000 Octet, sẽ được biểu diễn như kiểu Basic

Nếu có từ 1000 Octet trở lên, sẽ được biểu diễn giống với kiểu Cấu trúc,
trừ đoạn cuối ra thì mỗi 1000 sẽ được biểu diễn.

Được biểu diễn như kiểu cơ bản
Kiểu tuần tự

Kiểu tập hợp

Không hiện thực các giá trị mặc định.
Kiểu tập hợp Biểu diễn tương ứng cho từng thành phần theo thẻ (phổ biến, ứng dụng, đặc trưng ngữ cảnh, riêng)
Sẽ biểu diễn theo thẻ nhỏ nhất trong số Thẻ của các phần tử lựa chọn. Trường hợp kiểu lựa chọn (không có Tag), sẽ biểu diễn theo phần tử được chọn
(tùy theo phần tử được chọn mà biểu diễn sẽ thay đổi theo).
Kiểu tập hợp đồng nhất Được biểu diễn theo thứ tự tăng dần của dãy Octet
Advertisements

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Đăng xuất / Thay đổi )

Connecting to %s