asn.1 语法简介(Introduction to asn.1 syntax).doc

asn.1 语法简介(Introduction to asn.1 syntax).doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
asn.1 语法简介(Introduction to asn.1 syntax)

asn.1 语法简介(Introduction to asn.1 syntax) 1语法简介ASN。 一、介绍 抽象语法符号(ASN。1)是一种独立于机器的描述语言,用于描述在网络上传递的消息 标准包括:ISO 8824-1 | ITU-T x.680:规范的基本符号, ISO 8824-2 | ITU-T x.681:信息对象规格, ISO 8824-3 | ITU-T x.682:约束规范, ISO 8824-4 | ITU-T X.683:1规范的参数化。 1特别适合表示现代通信应用中那些复杂的、变化的及可扩展的数据结构ASN。 1可分为两个部分ASN。 语法规则:从数据类型、内容顺序或结构等方面来描述消息的内容 编码规则:如何编码实际消息中的数据 特点: 表达简单和复杂类型的能力 可对类型根据大小及(或)数值进行约束 也可以施加更强的约束 字段可标记为可选 大写开头表示类型名,小写开头的表示变量名/字段名 1术语二、ASN。 1抽象语法(抽象语法)。 描述通用数据结构 允许定义数据类型和值 2数据类型(数据类型)。 值的集合,可以是简单类型或结构类型 可以对数据类型命名 3编码(编码)。 用于表示数据值的字节序列 4编码规则(编码规则)。 给出从一种语法到另一种的映射方法 5传输语法(传输语法)。 位模式(位模式) 描述数据是在传输时是如何表示的 1模块定义三、ASN。 模块(模块):1规范中的基本构造块ASN。 模块定义格式如下: modulereference 定义::= 开始 出口 进口 assignmentlist 结束 其中:出口这个模块中的定义可能被其他模块引入 进口定义由其他模块引入 assignmentlist这个模块中将定义类型分配、值分配及宏定义 1简单类型四、ASN。 1。基本类型:布尔,整数枚举,真正的位字符串,字符串 2。字符串类型(iso10646-1的子集) NumericString(0-9,空格) PrintableString(0-9,A-Z,a-z,空格、的[特殊 visiblestring graphicstring utf8string ia5string(ASCII码) 三.对象类型 对象标识符 objectdescriptor对象标识符:一个任意长的非负整数序列,用于标记对象(如算法等) 4。其它类型 空空值 UTCTime [学生] 收到录取通知时间HHMM本地UTC偏移量 generalizedtime [β] YYYYMMDD HHMM本地UTC偏移量 2050年开始强制从 1类型定义五、ASN。 语法:类型名::= 类型 示例: 计数器::=整数 地址::=字符串 月份::=枚举{ 一月(1),二月(2日),3月(3日), 四月(4),5月(5日),六月(6日), 七月(7),8月(8日),九月(9日), 十月(10),十一月(11日),十二月(12日) } 1子类型定义六、ASN。 语法:类型名称::= 类型(约束) 示例: 计数器::=整数(0…65536) 地址::=字符串(大小(4)) 春天::=月(三月|四月|可能) 夏天::=月(六月七月八月| |) smallprime::=整数(2 | 3 | 5 | 7 | 11) exportkey::=字符串(大小(40)) 1赋值七、ASN。 语法:名称 类型::= 值 示例: ipinreceives计数器::= 2450 iproutemask地址::=“ffffff 00h 目前这个月将呈现月::=七月 时间::= UTCTime“030708094018 + 0800” 名称visiblestring::=“约翰” 已婚布尔值:= faxmessage比特串::=“01100001101b Internet对象标识符:= ISO(1)org(3)国防部(6)1 } 私有对象标识符:= Internet 4 } 1结构类型八、ASN。 序列对应于C语言中的结构 类型定义 用户::=序列{ 用户名printablestring, 密码printablestring, accountnr整数 } 赋值 我的户头上用户::= { 用户名“地”, 密码的“结果”, accountnr 2345 } 对对应于C语言中的数组序列 类型定义 成员国::=序列printablestring accountregistry::=序列用户帐号 赋值 东亚成员国::= { “中国”、“日本”、“韩国”、“DPR” } 集类似于序列,但不考虑分量顺序 类型定义 用户::=集{ [ 0 ] printablestring用户名, printablestring密码[ 1 ], accountnr [ 2 ]整数 } 赋值 我

您可能关注的文档

文档评论(0)

f8r9t5c + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档