asn1 学习笔记
语法
定义
Name ::= type
定义一个名称为“Name”的元素 它是一个给定ASN.1类型“Type”的实例
MyName ::= IA5String
//IA5String(类似于ASCII字符)
定义并初始化
MyName ::= IA5String(Tom)
MyName 是字符串"Tom" 的编码
扩展
MyName ::= IA5String(Tom|Joe)
MyName 可以是Tom也可以是Joe
容器 Container
包含了其他相同或则不同类型元素的数据类型
序列 SEQUENCE 单一序列 SEQUENCE OF 集合 SET 单一集合 SET OF
Name ::= Container{
Name Type,
[Name Type, .....]
}
UserRecord ::= SEQUENCE{
Name SEQUENCE{
First IA5String,
Last IA5String
}
DoB UTCTIME
}
等价于 C语言的
struct UserRecord{
struct Name{
char *First;
char *Last;
};
time_t DoB;
};
可选 OPTIONAL 默认 DEFAULT 选择 CHOICE
数据类型
布尔型 Boolean
八位位数组 OCTET String
位串 BIT String
类似于ASCII字符 IA5String
可打印字符串 PrintableString
整数 INTEGER
对象标识符 OBJECT Identifier, OID
世界协调时 UTCTIME
空 NULL
序列 SEQUENCE 单一序列 SEQUENCE OF
集合 SET 单一集合 SET OF
asn1 学习笔记的更多相关文章
- asn1学习笔记 约束
继续看asn1语法详解,今天主要看了约束部分,包含 1.单值约束,包含枚举类型 enumerated . 如: Two ::= INTEGER(2) Day ::= ENUMERATED { mond ...
- 2015.11.10 asn1学习笔记
Openssl : OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法.常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用. 在OpenSSL被曝出现严 ...
- asn1学习笔记
INTEGER 类型 1.由于这个类型在解码器中没有针对取值范围进行定义.所以在定义的时候要指定取值范围.如: errorcode::=ERRORCODE (1..12345678) ErrorCod ...
- Chapter 2. OpenSSL的安装和配置学习笔记
Chapter 2. OpenSSL的安装和配置学习笔记 2.1 在linux上面安装OpenSSL我还是做点No paper事情比较在行,正好和老师的课程接轨一下.以前尝试过在Windows上面安装 ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- 2014年暑假c#学习笔记目录
2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
随机推荐
- Dev C++ 工程没有调试信息 解决办法
Dev C++ 工程没有调试信息 解决方法DevC++4.9.9.2中,按 F8 开始调试.提示信息为:工程没有调试信息,您想打开工程的调试选项并重新生成吗?选择是后,再按F8,仍旧是这个信息.什么原 ...
- 分布式流处理框架 Apache Storm —— 编程模型详解
一.简介 二.IComponent接口 三.Spout 3.1 ISpout接口 3.2 BaseRichSpout抽象类 四.Bolt 4.1 IBolt 接口 4. ...
- 一步到位安装Centos7、配置VMware、连接Xshell
1.创建虚拟机 1.0 创建新的虚拟机 1.0.1 选择自定义配置 打开VMware,点击创建新的虚拟机. 如下图所示: 1.0.2 选择虚拟机硬件兼容性 如下图所示: 1.0.3 安装客户操 ...
- Hive 学习之路(六)—— Hive 视图和索引
一.视图 1.1 简介 Hive 中的视图和RDBMS中视图的概念一致,都是一组数据的逻辑表示,本质上就是一条SELECT语句的结果集.视图是纯粹的逻辑对象,没有关联的存储(Hive 3.0.0引入的 ...
- 关于AI本质的思考
前言 最近几天和一位朋友探讨了一下现阶段的人工智能以及未来发展,并且仔细重读了尤瓦尔赫拉利的“简史三部曲”,产生了一些关于AI的新想法,觉得有必要整理出来. 程序.AI的本质 现代的计算机都是基于图灵 ...
- 【朝花夕拾】Android自定义View篇之(六)Android事件分发机制(中)从源码分析事件分发逻辑及经常遇到的一些“诡异”现象
前言 转载请注明,转自[https://www.cnblogs.com/andy-songwei/p/11039252.html]谢谢! 在上一篇文章[[朝花夕拾]Android自定义View篇之(五 ...
- 搭建本地pip源
搭建本地的pip源 开发环境部署机器的时候, 每次从网上下载pip包会很慢, 将需要的包和相关依赖下载到本地, 搭建一个本地源服务器. 基本都是安装多个包, 推荐使用文件的方式, 文件内容格式, 可以 ...
- Programming In Lua 第七章
1, 2, 3, 第三点需要讲解下:for循环中,allwords函数是工厂函数,只调用一次.for循环的每次遍历,都会调用工厂函数返回的闭包函数.这样就能遍历一个文件的每一行的每一个单词. 4, 我 ...
- python函数之 range()
Python range() 函数用法 python range() 函数可创建一个整数列表,一般用在 for 循环中. 函数语法 range(start, stop[, step]) 参数说明: ...
- Centos7 系统初试化脚本
系统初始化设置 # 设置主机名,永久修改,再次登陆生效 hostnamectl set-hostname xxxxx # 安装eprl源,常用命令 yum install -y wget && ...