在不同裝置節點進行通訊的時候,通常要定義乙個資料協議,用來定義要傳輸資料的資訊結構。而asn.1就是定義資料協議的一種方法。即寫乙個檔案,字尾名為 .asn
例如:寫乙個檔案,檔案名叫 data.asn
檔案內容為:
people ::= sequence
即定義乙個資料結構people,包含兩個成員,乙個為位元組串 name, 乙個為整數age。
那麼不同節點就可以根據這個檔案,得到要傳輸資料的資訊結構。如果要傳輸這樣的資料,那麼還需要將這樣型別的資料轉化為二進位製流,即編碼。asn.1提供一下幾種編碼方式:
ber、cer、der、xer、oer、per
可使用不同程式語言,根據編碼方式將資料填入位元流中,比如c語言可定義乙個char陣列,儲存位元流。
interer
boolean
real
enumerated
bit string
octet string
null
sequence
sequence-of
setset-of
choice
ber編碼:基礎方案(型別+長度+內容),額外資料過多
cer編碼:安全性高
der編碼:安全性高
oer編碼:安全性高
per編碼:壓縮能力強
ASN 1編碼學習筆記 一
什麼是asn.1 抽象語法記法一 asn.1是itu t的乙個標準集,它用來編碼及表示通用資料型別,這些資料型別有可列印串值,八位位組串值,位串值,整數值以及用可移值方式組合而成 的其他型別序列值 簡單的說,asn.1指定了以何種方式對非平凡的資料型別進行編碼,以便其他任何平台及第三方工具都能夠解釋...
ASN1之DER編碼規則
在說der之前先了解乙個概念,資料的序列化。什麼是資料的序列化呢,將高階語言 轉變成二進位製流的過程就是資料的序列化。資料序列化的目的就是物理儲存和網路傳輸。在高階語言中有許多結構化的結構,比如,樹,圖,結構體等,高階語言裡的 最終在網路中都是以二進位製流的形式進行傳輸的,但是對於結構化的資料除了編...
ASN1標準對OID的編碼
asn1對oid的編碼有一些規定,形如a.b.c.d.e的oid被編碼的時候,完全可以按照der的編碼規則將整個oid的型別設定為object,然後將每乙個點分數字的型別設定為integer,最終編碼為 obj length int lena a int lenb b int lenc c 可是as...