首页 > 其他分享 >ASN.1 解析错误 length is out of bounds

ASN.1 解析错误 length is out of bounds

时间:2024-05-15 16:20:33浏览次数:13  
标签:字节 错误 ASN.1 bounds length 格式 长度

ASN.1中长度字段的编码方式有两种:短格式(Short Form)和长格式(Long Form)。短格式使用一个字节来表示长度,并且这个字节的最高位(bit 8)必须为0。如果长度大于127,则需要使用长格式,它首先用一个字节的0x80加上一个或多个后续字节来表示实际的长度。如果长度字段被错误地编码(例如,错误地使用了短格式来表示一个大于127的长度),那么解析器可能会读取错误的长度值。

例如下面的数据,就存在多处长度字段错误情况
BF51DFA0DD30D2801D312E332E362E312E342E312E35383830392E3939392E35383830392E31810103821449455350323032343035313530303036303030318301093095BF2D8191A0818EE3455A0A981099551731281908304F10A0000005591010FFFFFFFF89000011009F700100910E574737504F435F5175656374656C920E574737504F435F5175656374656C950102E3455A0A980193000010081481F64F10A0000005591010FFFFFFFF89000012009F700101910E574737504F435F5175656374656C920E574737504F435F5175656374656C9501025F3706112233DDCCFF

就像数据开头,tag是BF51,length是DF,正确的length应该是81DF

标签:字节,错误,ASN.1,bounds,length,格式,长度
From: https://www.cnblogs.com/ljmzj/p/18194105

相关文章

  • C和C++中size sizeof strlen length的对比
    一、sizeof()sizeof是一个操作符,它在编译期间确定的,返回的是静态大小。它可以应用于基本类型、类类型、数组和指针等。例如:sizeof(int)或sizeof(array)。对于数组,sizeof返回整个数组的大小(包括所有元素)。对于指针,sizeof返回指针本身的大小(通常取决于平台和编译器,例如在3......
  • Python模块request去掉headers里请求content-length
    前言全局说明Python模块request去掉headers里请求content-length一、说明当request请求data有参数时,会自动计算长度,并增加content-length值,但有些服务器不接收这样的参数就可能会报错。二、网上方法:2.1requests去掉headers里的content-length来源:https://blog......
  • 题解:AT_abc298_h [ABC298Ex] Sum of Min of Length
    分析模拟赛签到题。考虑分讨。分两种情况:\(L=R\)。\(L\neR\)。对于第\(1\)种情况,用换根DP求一个\(i\)为根时所有点的深度和就行。对于第\(2\)种情况,钦定$dep_R\gedep_L$。很显然,\(R\)为根的子树中所有点都是离\(R\)更近。假设在\(L\)到\(R\)的路径......
  • 删除顺序表L中下标为p(0≤p≤length-1)的元素,成功返回1,否则返回0,并将被删除元素的值赋给
    /********************************************************************************************************** filename: Zqh_splist_4.22.2.c* author : [email protected]* date : 2024/04/22* function: 删除顺序表L中下标为p(0≤p≤length-1)的元素,成功返回1......
  • 删除顺序表L中下标为p(0<≤ p ≤length-1)的元素,成功返回1,否则返回0,并将待删除的元素的
    /********************************************************name:DelElement* function:(笔试题)删除顺序表L中下标为p(0<≤p≤length-1)的元素,*成功返回1,否则返回0,并将待删除的元素的值赋给e。*argument*@p:需要插入......
  • typescript安装问题=> for (let i = startIndex ?? 0; i < array.length; i++) {
    for(leti=startIndex??0;i<array.length;i++){^SyntaxError:Unexpectedtoken?atObject.exports.runInThisContext(vm.js:76:16)atModule._compile(module.js:542:28)atObject.Module._extensions..js(mo......
  • idea异常:java.nio.charset.MalformedInputException: Input length = 1
    先放图吧,一般idea设置成这样都能解决写在后面:MalformedInputException是格式错误输入异常,意思就是指你的项目、配置文件编码不统一,所以我们要统一成UTF-8。一般小项目,肯定按照上图设置就没问题了,大项目文件多,特别是读属性这块,如果排查都没问题的话,可以重启项目,或者clean一下。......
  • LeetCode 2461. Maximum Sum of Distinct Subarrays With Length K
    原题链接在这里:https://leetcode.com/problems/maximum-sum-of-distinct-subarrays-with-length-k/description/题目:Youaregivenanintegerarray nums andaninteger k.Findthemaximumsubarraysumofallthesubarraysof nums thatmeetthefollowingconditi......
  • 1071 - Specified key was too long; max key length is 767 bytes
    1071-Specifiedkeywastoolong;maxkeylengthis767bytes问题背景问题分析处理问题背景今天在Mysql建表的过程中,遇到了一个这样的问题,错误信息1071-Specifiedkeywastoolong;maxkeylengthis767bytes下面来分析如何处理问题分析处理根据错误......
  • MySQL 中 LENGTH() 和 CHAR_LENGTH()用法
    在MySQL中,LENGTH()和CHAR_LENGTH()函数都用于获取字符串的长度,但它们有一些重要的区别。LENGTH()函数返回字符串的字节数(即存储在数据库中的实际字节数),而不是字符数。这意味着对于使用多字节字符集(如UTF-8)存储的数据,LENGTH()函数返回的值可能会大于实际字符数。例如:S......