少年郎的肩头,本|

两截梅子酒

园龄:11个月粉丝:0关注:0

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

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

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

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

本文作者:两截梅子酒

本文链接:https://www.cnblogs.com/ljmzj/p/18194105

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   两截梅子酒  阅读(62)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起