补充知识:编码规则.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
补充知识:编码规则

X.509证书采用ASN.1描述,经过DER编码后装载入存储介质中发放给用户或者放到存储库中供其他用户访问。 ASN.1(Abstract Syntax Notation One,抽象语法符号)是一种描述抽象数据类型的形式语言,它广泛用于RFC(Request For Comments)文本中的数据结构描述,它有严格的BNF定义。 ASN.1描述抽象数据类型的方法与高级程序设计语言定义数据结构的方法类似。ASN.1定义了若干种简单类型,也提供了由简单类型构造复杂数据结构的手段。ASN.1中定义的类型除类型名外还有一个Tag,它的作用与编码规则有关。 标记(tag)包括一个类型名和一个非负的标记数。而这个非负的标记数是起决定性作用的。ASN.1中的标记共有4种类型: (1) 全局类型(universal) 全局类型在所有的应用中有着相同的意义。 (2) 应用类型(application) 应用类型在特定的应用中有着相同的含义。 (3) 私有类型(private) 私有类型只在特定的实体中有意义,实际上很少用到私有类型。 (4) 上下文特定类型(Context Specific) 上下文特定类型在一个给定的结构里是有效的。 基本类型 TAG 值的集合 BIT STRING Universal 3 0个或多个比特序列 IA5String Universal 22 任意由ASCII码组成 的字符串 INTEGER Universal 2 正负整数和零 NULL Universal 5 一个空的值 OBJECT IDENTIFIER Universal 6 一串整数 OCTET STRING Universal 4 0个或多个位组序列 PrintableString Universal 19 可打印字符 UTCTime Universal 23 用来表示时间的值 用以上简单类型构造复杂数据结构的手段表示序列和集合。 ASN.1描述抽象语法的形式是类型赋值语句: 类型名::=类型定义 在序列或集合中的某些项可以是任选的,即可能出现,也可能不出现。我们用保留字OPTIONAL说明任选项,进一步可以用保留字DEFAULT说明任选项的缺省值。 BER编码和DER编码 1. BER编码 基本编码规则BER(Base Encoding Rules)中有各种方法,用来把ASN.1的抽象值编码为字节串,这个字节串就叫做抽象值的传送语法。 编码的基本原则是类型-长度-值三段式结构,简称TLV(Type-Length-Value)结构。 共有3种BER方法:本原的、有限长度编码;结构的、有限长度编码;结构的、无长度限制的编码。在每种方式中,BER编码包括三或四个部分: (1) 标识八元组:这个八元组标识ASN.1抽象值的类和标注码,而且从这个八元组可以看出,编码方法是本原的还是结构的。 (2) 长度八元组:对于有限长度方法,这部分给出了ASN.1抽象值内容中八元组的个数;对于无长度限制编码方法,它表明长度是无限制的。 (3) 内容八元组:对于本原、有限长度方法,这部分给出了对本原值的一个具体表述;对于结构方法,这部分就是结构内组件的连接。 (4) 内容结束八元组:对于结构的、无长度限制的方法来说,此八元组代表了内容的结束;对于其他方法来说,没有内容结束八元组。 任何编码的第一个字节都是起标识类型的作用,前两位用于标识4种标签(通用、应用、上下文专用和用户专用),第三位用于区分简单类型和构造类型,剩下的5位用于对标签的数值部分进行编码。如果标签的值大于30,则这5位位全1,实际标签值表示在后继字节中。 2. DER编码 DER(Distinguished Encoding Rules)是BER的一个子集,它为每一个ASN.1类型制定唯一的编码方案。 DER编码由三个或四个部分构成: 使用类型的TAG来标识该值的类型,在证书中用一个字节来表示。Bit8-Bit7用来标示TAG类型,Bi

文档评论(0)

dajuhyy + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档