0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ASN.1中的DEFAULT {} 是什么意思

工程师邓生 来源:哲想软件 作者:哲想软件 2022-09-09 09:51 次阅读

18、GeneralString、GraphicString等与 ASN.1中其他广泛使用的字符串类型有何不同?

GeneralString、GraphicString、TeletexString和 VideotexString都具有在指定字符时允许转义序列的特性。因此,这些类型之一中的字符可能占用一个八位字节,或两个,或三个......,并且每个字符的八位字节数对于给定的字符串值不一定是固定的,它可以变化。将此与IA5String、PrintableString、VisibleString、NumericString、BMPString和 UniversalString进行对比,它们都具有每个字符的固定位数,因此被称为已知乘数字符串类型或固定宽度字符串类型。GeneralString 等是可变宽度字符串类型。

19、ASN.1中的DEFAULT {} 是什么意思?

DEFAULT通常意味着在语义上无法区分该值是否已编码。一般来说,这意味着如果它是默认值,您可以选择省略该值,尽管一些编码规则(例如,DER)要求如果该值是默认值,则永远不会被编码。

DEFAULT{} 仅对具有命名位列表、SETOF 和SEQUENCE OF 的BIT STRING 有效。在 BIT STRING的情况下,它表示默认值为空字符串(长度为0),而在SET OF 和SEQUENCE OF 的情况下,它表示出现0 次的值。

20、什么是规范编码规则(CER)?

它与BER 类似,因为所有有效的CER 编码都是有效的BER 编码。BER 允许以多种方式对大多数值进行编码,而CER 规定对于给定值仅允许使用其中一种方式(例如,BER表示对于BOOLEAN,值00 为FALSE,任何非零值均为TRUE,而CER 表示00 为FALSE,FF为TRUE,值01-FE 为false)。它在大多数方面类似于 DER,因为DER 还规定了一种编码任何给定值的方法。它们最大的不同之处在于:

1.DER 使用定长编码,而CER 使用不定长编码。

2.DER 要求字符串类型以原始形式编码,而CER 要求字符串类型在长度小于1000 个八位字节时以原始形式编码,并且以具有1000 个字节段的构造形式(可能除了最后一句)如果它们的长度超过 1000个字节。

在 DER中,SET的组件必须在运行时进行排序。在 CER 中,使用与PER 中相同的算法,基于标签对SET 的组件进行预排序。

21、OPTIONAL元素在扩展添加中的意义是什么?

考虑类型:

MySeq ::= SEQUENCE {

i INTEGER,

...,

e1 BOOLEAN,

e2 INTEGER (0..65535) OPTIONAL

}

扩展添加项对于未定义这些项的实现版本都是“可选的”(例如,在MySeq 的版本1 中,未定义e1 和e2),但在定义了扩展添加的实现版本中(例如,假设 e1 和e2 在版本2 中定义)未标记为OPTIONAL的扩展添加项对于该版本是强制性的,而那些标记为OPTIONAL 的项对于该版本是可选的。

因此,如果上面的 e1 和e2 在版本2 中定义但不是在版本1 中定义,则版本2 实现需要始终传输e1,如果它是发起消息的,因为它没有标记为OPTIONAL,但可以省略e2。如果它不是发起消息(例如,它正在转发从版本 1实现接收到的消息),那么如果e1 和e2 不存在于消息中,则可以随意省略它们。这意味着如果 e1不存在,您将永远无法使e2 出现在消息中。



审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编码
    +关注

    关注

    6

    文章

    835

    浏览量

    54458
  • CeR
    CeR
    +关注

    关注

    0

    文章

    4

    浏览量

    7249

原文标题:OSS Nokalva:ASN.1问答时间(5)

文章出处:【微信号:哲想软件,微信公众号:哲想软件】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    KUKA KRL语法之SWITCH语句详解

    如果没有与选择标准匹配的标识符,则处理DEFAULT块。如果没有DEFAULT块,则不处理任何块,并且程序在ENDSWITCH之后继续。
    的头像 发表于 04-16 11:26 166次阅读
    KUKA KRL语法之SWITCH语句详解

    CubeMx选择开发板开始工程后弹出Initialize all peripherals with their default Mode是怎么回事?

    CubeMx中选择开发板开始工程后弹出Initialize all peripherals with their default Mode?选择yes后无ser
    发表于 03-19 07:28

    求助,针对IO配置寄存器Default setting takes place at power-up only的疑问求解

    请教一下各位大佬,针对IO配置寄存器Default setting takes place at power-up only的疑问?只能在上电的时候复位成默认值?那如果我在初始化时候配置错了,导致3914工作不正常,后面我在没有断电的情况下重新初始化还可以改过来吗?
    发表于 03-19 06:03

    hal_initTickuwTickFreq的含义是什么?

    /uwTickFreq又是什么意思? 在stm32f1xx_hal.h的定义如下: typedef enum { HAL_TICK_FREQ_10HZ= 100U
    发表于 03-18 06:25

    default在单片机中有什么作用

    在单片机中,default关键字的作用是为了在switch语句中处理default情况下的代码逻辑。switch语句是一种选择结构,根据给定的表达式值,选择不同的分支执行不同的代码。当switch
    的头像 发表于 01-08 10:11 397次阅读

    i.MX6ULL——ElfBoard ELF1板卡 修改路由表优先级的方法

    1.查看路由表优先级 路由表的Metric参数为跃点数,当系统中有多个网关时,数据包会通过Metric低的接口传输; 2.修改优先级 修改优先级需要先删除以上两个网关,命令如下
    发表于 10-27 14:03

    嵌入式学习——ElfBoard ELF1板卡 修改路由优先级的方法

    1.查看路由表优先级 路由表的Metric参数为跃点数,当系统中有多个网关时,数据包会通过Metric低的接口传输; 2.修改优先级 修改优先级需要先删除以上两个网关,命令如下
    发表于 10-27 13:59

    default风扇的降温处理方法

    运行 default 风扇策略时,CPU前部的两个风扇转速默认是根据CPU温度、主板温度、 硬盘温度来进行调速的,在环境温度太高时可能会出现加速卡温度偏高的情况。可根据下面步骤,设置 CPU 前部
    发表于 09-18 08:35

    Revere AMU系统架构参考指南

    本节定义了硬件加速器的可选引脚级接口,该接口对软件不可见,但允许重用AHA和AMU的标准IP实现。 本节介绍了以下程序: •管理与硬件代理(AHA)的连接•在AHA配置AMI-HW和AMS•通过
    发表于 08-10 06:59

    针对IO配置寄存器Default setting takes place at power-up only的疑问求解

    请教一下各位大佬,针对IO配置寄存器Default setting takes place at power-up only的疑问?只能在上电的时候复位成默认值?那如果我在初始化时候配置错了,导致3914工作不正常,后面我在没有断电的情况下重新初始化还可以改过来吗?
    发表于 08-07 06:55

    CubeMx中选择开发板开始工程后弹出Initialize all peripherals with their default Mode,选择yes后无DEB是怎么回事?

    CubeMx中选择开发板开始工程后弹出Initialize all peripherals with their default Mode?选择yes后无DEB
    发表于 08-07 06:20

    别克君越控开关失灵,什么情况怎么解决

    开关
    YS YYDS
    发布于 :2023年06月23日 00:38:57

    rust语言基础学习: Default trait

    Default trait 顾名思义是默认值,即Rust为特定类型实现 Default 特性时,可以为该类型赋予了可选的默认值。
    的头像 发表于 05-22 16:16 876次阅读

    如何设置“MAARCR reset default = 0x514201F0”?

    我们的客户对 ddr 压力测试有疑问。 该设备是 imx6QP。 操作系统是 Yocto 2.1。 (1) 客户尝试设置“MAARCR reset default = 0x514201F0” (2
    发表于 05-22 07:38

    如何在imx8mp评估套件启动以太网1 (eqos)?

    ifconfig 查看 Eth0 节点,并且我们可以 ping 通。 但我无法调出 imx8mp-evk.dts 的 eqos 节点 Eth1 请提出一些解决方案,以在 imx8mp 评估套件启动
    发表于 05-17 07:20