【文件属性】:
文件名称:ASN1简介-树莓派4b+opencv4+python 打开摄像头的实现方法
文件大小:2.26MB
文件格式:PDF
更新时间:2024-06-22 11:26:04
opensll 加密 解密 数据安全 网络安全
第十三章 ASN1库
13.1 ASN1简介
ASN.1(Abstract Syntax Notation One,X.208),是一套灵活的标记语言,它允许定义多种
数据类型,从 integer、bit string 一类的简单类型到结构化类型,如 set 和 sequence,并且可
以使用这些类型构建复杂类型。
DER 编码是 ANS.1 定义的将对象描述数据编码成八位串值的编码规则,它给出了对
ANS.1值(对象的类型和值)的唯一编码规则。
在 ANS.1 中,一个类型是一组值,对于某些类型,值的个数是已知的,而有些类型中
值的个数是不固定的。ANS.1中有四种类型:
1) 简单类型
BIT STRING 任意 0、1位串;
IA5String 任意 IA5(ASCII)字符串;
INTEGER 任意一个整数;
NULL 空值;
OBJECT IDENTIFIER 一个对象标识号(一串整数),标识算法或属性类型等
对象;
OCTET STRING 8位串;
PrintableString 任意可打印字符串;
T61String 任意 T.61(8位)字符串;
UTCTime 一个“协同世界时”或“格林威治标准时(G.M.T)”。
2) 结构类型
结构类型由组件组成,ANS.1定义了四种结构类型:
SEQUENCE 一个或多个类型的有序排列;
SEQUENCE OF 一个给定类型的 0个或多个有序排列;
SET 一个或多个类型的无序集合;
SET OF 一个给定类型的 0个或多个无序集合。
3) 带标记类型
在一个应用内部区分类型的有效方法是使用标记,标记也同样用于区分一个结
构类型内部不同的组件。例如 SET或 SEQUENCE类型可选项通常使用上下文标记
以避免混淆。有两种标记类型的方法:隐式和显式。隐式标记类型是将其它类型的
标记改变,得到新的类型。隐式标记的关键字是 IMPLICIT。显式标记类型是将其
它类型加上一个外部标记,得到新的类型。显式标记的关键字是 EXPLICIT。
为了进行编码,隐式标记类型除了标记不同以外,可以视为与其基础类型相同。显
式标记类型可以视为只有一个组件的结构类型。
4) 其它类型
类型和值用符号::=表示,符号左边的是名字,右边是类型和值。名字又可以
用于定义其它的类型和值。
除了 CHOICE类型、ANY类型以外,所有 ANS.1类型都有一个标记,标记由
一个类和一个非负的标记码组成,当且仅当标记码相同时,ANS.1类型是相同的。