ASN概述-DLMS-結構解析

broom7027 5 0 ppt 2024-07-09 17:07:50

ASN.1概述

ASN.1作为一个数字对象描述标准,包括了两部分,分别为数据描述语言(ISO8824)和数据编码规则(ISO8825)。

ASN.1的数据描述语言标准允许用户自定义基本数据类型,并可以通过简单的数据类型组成更复杂的数据类型。

比如ASN.1定义的X509证书的一个子域Validity(证书有效期)就定义如下:

Validity ::= SEQUENCE {

notBefore UTCTIME,

notAfter UTCTIME

}

其意义就是定义Validity为一个有序序列,由两个个UTCTIME类型的数据notBefore和notAfter组成。然后,就需要找出UTCTIME是怎么定义的,

在上述数据定义的基础上,ASN.1定义了一组编码规则,以规定怎么将上述描述的对象转换成应用程序能够处理和进行传输的二进制编码形式。

ASN.1定义了多种编码方法,包括了BER(TLV), DER, PER,和XER等,不过,虽然最基本最常用的编码方式是BER(Basic Encoding Rules),但是由于该编码方法可能对一个相同的对象有几种不同的合法二进制编码,所以在openssl里面使用的是BER的子集DER(Distinguished Encoding Rules),使用DER编码方法,对于每一个ASN.1对象,其相应的二进制编码是唯一的。

ASN.1里定义的每个基本对象都有一个对应的数字标识tag,在进行二进制编码的时候需要使用该标志。

用户评论
请输入评论内容
评分:
暂无评论