der解码规则_DER编码简介
概念:
DER是BER的子集,它為每一個ASN.1類型定義一種唯一的編碼方案。
DER與BER的區別:
DER在BER的基礎上增加了如下限制:
長度小于等于127,必須使用短型長度表示法。
長度大于127,必須使用長型長度表示法,并且要盡可能的短。
對于簡單的string類型以及在其基礎上隱性標簽生成的類型使用簡單定長表示法。
對于結構化類型以及在其基礎上隱性標簽生成的類型以及所有的顯示類型使用結構化定長表示法。
簡單定長表示法和結構化類型表示法的區別是在TLV的T中bit6是0還是1。
DER的組成:
無論什么類型它的DER編碼都是有四部分組成:
類型字段tag? 長度字段length?? 值字段value?? 結束表示字段
即T L V
類型字段:
由一個字節(即八個二進制位)組成。
bit8 bit7用來表示tag類型,universal是00? application是01? context-specific是10?? private是11
bit6表示結構化位,0代表簡單類型,1代表結構類型
bit5-bit1表示tag值,tag值可以查表獲得。
長度字段(以字節為計算單位):
長度字段分為兩種:小于等于127和大于127
小于等于127:用一個字節表示。bit8=0,bit7-bit1表示長度值。
例子:38表示為00100110
大于127:由多個字節組成
第一個字節:bit8=1,bit7-bit1表示存放長度所占字節數(通俗的講就是后面還有幾個字節)
其余字節:存放長度值
例如:201表示為10000001 11001001
長度值不定:用0x80表示。
值字段:
不同的類型其值不同,但歸根結底類型都是二進制,或十進制,或十六進制 ,或者是ASCLL字符,將他們轉換為16進制表示出來即可。
結束標識字段(不在TLV之中):
兩個字節,只有在長度值不定時才會出現。表示為0x000x00
總結
以上是生活随笔為你收集整理的der解码规则_DER编码简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在vue中怎么写行内样式高_说说在 Vu
- 下一篇: win10下载东西黑屏怎么办啊 Win1