深入理解ASN.1类型:从基础到应用
1. ASN.1类型概述
ASN.1(Abstract Syntax Notation One)类型大致可分为三大类:简单类型、字符串类型和结构化类型。其中,字符串类型又进一步细分为处理原始比特的类型和表示特定字符编码的类型。结构化类型则包含两种容器类型:SEQUENCE和SET,它们允许使用所有类型类别构建复杂的结构。
1.1 简单类型
简单类型用于表示基本值,如布尔值、整数和日期等。以下是ASN.1中的简单类型:
- BOOLEAN:编码布尔值(true或false)。
- ENUMERATED:是INTEGER的特殊情况,可用于表示任意大小的有符号整数,INTEGER值以二进制补码形式编码,采用大端字节序。
- INTEGER:表示整数。
- NULL:类似于Java中的null,但在ASN.1中用于区分值被设置为空和值不存在的情况。
- OBJECT IDENTIFIER:用于表示对象标识符。
- UTCTime和GeneralizedTime:都用于定义“协调世界时”,但UTCTime只有两位年份,而GeneralizedTime有四位年份。GeneralizedTime可以表示任意精度的秒,而UTCTime的分辨率最低为秒。对于UTCTime中的两位年份,有多种解释方式,常见的是将50 - 99解释为1950 - 1999,00 - 49解释为2000 - 2049。
1.2 位串类型
位串类型有两种:BIT STRING和OCTET STRING。
- BIT STRING:允许存储任意长度的任意位串。它由两部分
超级会员免费看
订阅专栏 解锁全文
146

被折叠的 条评论
为什么被折叠?



