B05、IEC62056技術(shù)文檔--ASN.1語(yǔ)法_第1頁(yè)
B05、IEC62056技術(shù)文檔--ASN.1語(yǔ)法_第2頁(yè)
B05、IEC62056技術(shù)文檔--ASN.1語(yǔ)法_第3頁(yè)
B05、IEC62056技術(shù)文檔--ASN.1語(yǔ)法_第4頁(yè)
B05、IEC62056技術(shù)文檔--ASN.1語(yǔ)法_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、IEC62056技術(shù)文檔ASN.1語(yǔ)法簡(jiǎn)介深圳市航天泰瑞捷電子有限公司修訂記錄版本日期作者備注1。02012-5-23梁高強(qiáng)初版范圍:本文就IEC62056系列標(biāo)準(zhǔn)中涉及的ASN.1語(yǔ)法進(jìn)行簡(jiǎn)要概述,便于協(xié)助開(kāi)發(fā)工程師閱讀、理解DLMS/COSEM信協(xié)議。目錄1. ASN.1是什么52. ASN.1歷史53. 應(yīng)用領(lǐng)域54. ASN.1語(yǔ)法75. ASN.1顯式值(ExplictValue)76. ASN.1容器77. ASN.1修改器87.1. 可選(OPTIONAL)87.2. 默認(rèn)(DEFAULT)87.3. 選擇(CHOICE)88. ASN.1頭字節(jié)(tag)88.1. 類(lèi)別位98.

2、2. 結(jié)構(gòu)化位98.3. 原始類(lèi)型99. ASN.1長(zhǎng)度編碼109.1. 定長(zhǎng)方式109.1.1. 短編碼。109.1.2. 長(zhǎng)編碼。119.2. 不定長(zhǎng)方式1110. ASN.1的數(shù)據(jù)類(lèi)型1110.1. ASN.1布爾類(lèi)型1210.2. ASN.1整數(shù)類(lèi)型1210.3. ASN.1位串類(lèi)型1310.4. ASN.1八位位組串類(lèi)型1310.5. 空類(lèi)型1410.6. 對(duì)象標(biāo)識(shí)標(biāo)符類(lèi)型1410.7. ASN.1序列和集合類(lèi)型1510.8. ASN.1可打印字符串和IA5String類(lèi)型1510.9. ASN.1世界協(xié)調(diào)時(shí)類(lèi)型15ASN.1語(yǔ)法簡(jiǎn)介1. ASN.1是什么ASN.1全稱(chēng)為abstra

3、ctsyntaxnotationdotone,抽象語(yǔ)法1(數(shù)字1被ISO力口在ASN的后邊,是為了保持ASN的開(kāi)放性,可以讓以后功能更加強(qiáng)大的ASN被命名為ASN.2等,但至今也沒(méi)有出現(xiàn)),是一種獨(dú)立于機(jī)器的描述語(yǔ)言,用于描述在網(wǎng)絡(luò)上傳遞的消息。通俗的來(lái)講,抽象語(yǔ)法就是協(xié)議采用ASN.1規(guī)范描述的描述文本,這里涉及到另一個(gè)語(yǔ)法:傳輸語(yǔ)法,就是實(shí)際通訊系統(tǒng)間的碼流。例如字母A為抽象語(yǔ)法,0X41為傳輸語(yǔ)法。2. ASN.1歷史開(kāi)始于1982年,許多開(kāi)發(fā)應(yīng)用層標(biāo)準(zhǔn)的人意識(shí)到他們面臨同一個(gè)問(wèn)題:數(shù)據(jù)結(jié)構(gòu)變得越來(lái)越復(fù)雜,難以用預(yù)定的規(guī)程來(lái)編碼比特或字節(jié),ASN.1由此而生,它特別適合表示現(xiàn)代通信應(yīng)用中

4、那些復(fù)雜的、變化的及可擴(kuò)展的數(shù)據(jù)結(jié)構(gòu),它不是用一些表格,及一些固定的幀格式來(lái)描述的,而是用一種抽象語(yǔ)法語(yǔ)言來(lái)描述。這樣做的好處是,極大的提高了協(xié)議的抽象性和通用性,可擴(kuò)展性。3. 應(yīng)用領(lǐng)域在GSM!(統(tǒng)中,空中接口上傳遞的補(bǔ)充業(yè)務(wù)內(nèi)容采用了ASN.1的BER編碼格式,其RRM模塊以及其他層3消息均采用ASN.1編碼。3G移動(dòng)系統(tǒng)一一使用ASN.1標(biāo)準(zhǔn)數(shù)據(jù)交換的第三代移動(dòng)通信網(wǎng)絡(luò)。這一系統(tǒng)基于UMTS(通用移動(dòng)通信系統(tǒng))標(biāo)準(zhǔn),其使用了ASN.1和分組編碼標(biāo)準(zhǔn)(PER。在3GPP的層3消息體系中,使用ASN.1描述層3消息(包括Uu,Iub,Iur,Iu等接口的層3消息)使用ITU-T建議X.69

5、1的各種算法進(jìn)行編解碼,如RRG肖息采用UPER碼格式。IP語(yǔ)音一一在通信領(lǐng)域中的另一個(gè)重要應(yīng)用是通過(guò)包轉(zhuǎn)換網(wǎng)絡(luò)(如因特網(wǎng))傳遞語(yǔ)音數(shù)據(jù)。多媒體數(shù)據(jù)彳t號(hào)編解碼器(CODEC標(biāo)準(zhǔn)(H.323等等)基于ASN.1并且使用于分組編碼標(biāo)準(zhǔn)來(lái)獲取理想的數(shù)據(jù)傳輸速率。安全應(yīng)用一一因特網(wǎng)安全授權(quán)同樣也使用了ASN1。高級(jí)編碼標(biāo)準(zhǔn)在數(shù)據(jù)表示方面形成了一個(gè)方便的、平臺(tái)無(wú)關(guān)的標(biāo)準(zhǔn),比加密要優(yōu)越。PKIX、PKCSX。509也是我們所熟悉的標(biāo)準(zhǔn),它們也是基于ASN.1的。傳統(tǒng)通信網(wǎng)絡(luò)一一ASN.1和基本編碼規(guī)則(BER已經(jīng)在主要通信領(lǐng)域流行了很長(zhǎng)一段時(shí)間,所有的ss7到ISDN的一切都使用了ASN.1BER信息在

6、各種類(lèi)型的設(shè)備和計(jì)算機(jī)之間傳遞信號(hào)。軍事和空間應(yīng)用一一美國(guó)國(guó)家宇航局(NASA在其航空通信網(wǎng)規(guī)范中,也正在使用ASN.1和分組編碼規(guī)則作為空對(duì)地或地對(duì)空協(xié)議。在DLMS中的應(yīng)用如下圖所示:標(biāo)準(zhǔn)協(xié)議:IEC62056-61-62各協(xié)議層的服務(wù)原語(yǔ),描述其協(xié)議功能,如:GET/SET/ACTION.request/.response用ASN.1記述務(wù)服務(wù)原語(yǔ)的組成要素依據(jù)編碼規(guī)則將ASN.1語(yǔ)法編碼為BIT串對(duì)上述的BIT串進(jìn)行格式化,封裝成為在信道中傳輸?shù)膮f(xié)議幀(HDLC幀)例COSEM-OPEN.request服務(wù)原語(yǔ),用ASN1描述出來(lái)如下所示AARQ-apdu:=APPLICATION0I

7、MPLICITSEQUENCEprotocol-versionapplication-context-namecalled-AP-titlecalled-AE-qualifiercalled-AP-invocation-idcalled-AE-invocation-idcalling-AP-titlecalling-AE-qualifiercalling-AP-invocation-idcalling-AE-invocation-id0IMPLICITBITSTRINGversion1(0)DEFAULTversion1,1 Application-context-name,2 AP-titl

8、eOPTIONAL3 AE-qualifierOPTIONAL4 AP-invocation-identifierOPTIONAL5 AE-invocation-identifierOPTIONAL6 AP-titleOPTIONAL7 AE-qualifierOPTIONAL8 AP-invocation-identifierOPTIONAL9 AE-invocation-identifierOPTIONALThefollowingfieldshallnotbepresentifonlythekernelisusedsender-acse-requirements10IMPLICITACSE

9、-requirementsOPTIONAL-Thefollowingfieldshallonlybepresentiftheauthenticationfunctionalunitisselectedmechanism-name11IMPLICITmechanism-nameOPTIONAL-Thefollowingfieldshallonlybepresentiftheauthenticationfunctionalunitisselectedcalling-authentication-value12EXPLICITauthentication-valueOPTIONALimplement

10、ation-information29IMPLICITimplementation-dataOPTIONALuser-information30IMPLICITassociation-informationOPTIONAL4. ASN.1語(yǔ)法ASN.1語(yǔ)法遵循傳統(tǒng)的巴科斯范式BNF風(fēng)格,最基本的表達(dá)式如:Name:=type。表示為定義某個(gè)名稱(chēng)為Name的元素,它的類(lèi)型為type。例如:MyName:=IA5String。表示為定義了一個(gè)名為MyName勺元素或變量,其類(lèi)型為ASN.1類(lèi)型IA5String(類(lèi)似于ASCII字符串)。一個(gè)用ASN.1語(yǔ)法描述的數(shù)據(jù)幀,看上去應(yīng)該是下面的樣子:N

11、ame := tagIMPLICIT/EXPLICITDatatypenull-data0IMPLICITNULL,Data type A1 OPTIONALData type A2 OPTIONALitem11IMPLICIT/EXPLICITitem22IMPLICIT/EXPLICITitem33Datatype5. ASN.1顯式值(ExplictValue)有些時(shí)候,我們需要定義一種ASN.1類(lèi)型,它的子集元素包含預(yù)定義值。Name:=type(ExplictValue)。顯式值(ExplictValue)必須是ASN.1類(lèi)型允許選擇的值,而且也必須是元素所允許的值。例:MyName

12、:=IA5String(Tom)表示MyNam是字符串Tom的IA5String編碼。又例如:MyName:=IA5String(Tom|Joe)表示字符串的值既可以是Tom,也可以是Joe。這種語(yǔ)法的使用是為了擴(kuò)展確定的解碼器,例:Data-Access-Result:=ENUMERATEDSuccess(0)Hardware-flaut(1)Temporary-failure(2)Read-write-denied(3)Other-reason(250)6. ASN.1容器容器是值一個(gè)包含了其他相同或者不同類(lèi)型元素的數(shù)據(jù)類(lèi)型(例如序列值SEQUENCE集合值SET類(lèi)型).目的是為了組合一些

13、復(fù)雜的數(shù)據(jù)類(lèi)型集.ASN.1規(guī)范定義了4種容器類(lèi)型:序列,單一序列(SEQUENCEOR)集合和單一集合(SETOF).雖然它們意義不同,但是語(yǔ)法是一樣的。Name:=ContainerNameTypeNameType。方括號(hào)中的內(nèi)容和容器的元素個(gè)數(shù)都是可選項(xiàng)。還可以進(jìn)行嵌套定義。例:Get-Request-With-List:=SEQUENCEInvoke-id-and-priorityInvoke-And-PriorityAttribute-descriptor-listSEQUENCEOFCosem-Attribute-Descriptor-With-Selection7. ASN.1修

14、改器ASN.1定義了各種修改器,如可選(OPTIONAL),默認(rèn)(DEFAULT),和選擇(CHOICE)。他們可以改變表達(dá)式的聲明.典型地用于定義一種要求編碼靈活,而定義又不繁瑣的類(lèi)型。7.1. 可選(OPTIONAL)顧名思義,其表示改變一個(gè)元素以便在編碼時(shí)它的類(lèi)型是可選擇的.即編碼器可以忽略這個(gè)元素,解碼器不能假設(shè)它將出現(xiàn)。定義:Name:=TypeOPTIONAL7.2. 默認(rèn)(DEFAULT)默認(rèn)修改器允許容器包含默認(rèn)值.如果待編碼的數(shù)據(jù)值等同于它的默認(rèn)值,那么它將在發(fā)送的數(shù)據(jù)流中被忽略。7.3. 選擇(CHOICE)選擇修改器允許一個(gè)元素在給定的實(shí)例中可以有多個(gè)可能值。GET-Re

15、spose:kCHOICEget-respone-normal1IMPLICITGet-Response-Normalget-response-with-datablock2IMPLICITGet-Response-With-Datablockget-response-with-list3IMPLICITGet-Response-With-List8. ASN.1頭字節(jié)(tag)頭字節(jié)(hearderbyte)位于ASN.1編碼的開(kāi)始,通常是一個(gè)八位組,由3部分組成,有如下兩種形式,如下圖: Ktji (xtft/X!:/!/I-卜|匕】1 7hi 1 6Hmm/ 1 ia 1 Q 1惻電血

16、由ticnmifP*TTFNTLPtimilivu當(dāng)Tag不大于30時(shí),Tag只在一個(gè)八位組中編碼;當(dāng)Tag大于30時(shí),則Tag在多個(gè)八位組中編碼。在多個(gè)八位組中編碼時(shí),第一個(gè)八位組后五位全部為1,其余的八位組最高位為1表示后續(xù)還有,為0表示Tag結(jié)束。8.1. 類(lèi)別位類(lèi)別位(classificationbits)由兩位表示,用來(lái)描述數(shù)據(jù)將要解釋的上下位7位6類(lèi)別及解釋00通用(Universal)01應(yīng)用(Application)10上卜義特定(ContextSpecific)11專(zhuān)用(Private)所有的類(lèi)型中,通用類(lèi)別最常用。8.2. 結(jié)構(gòu)化位結(jié)構(gòu)化位(constructedbit)表

17、示一個(gè)給定的編碼是否是相同類(lèi)型的多種編碼的結(jié)構(gòu)化。結(jié)構(gòu)化元素是容器類(lèi)型必需的,因?yàn)樵谶壿嬌?,它們只是其他元素的集合。結(jié)構(gòu)化元素有自己的頭字節(jié)和長(zhǎng)度字節(jié),之后是元素各個(gè)要素組件的單獨(dú)編碼。也就是說(shuō),這些要素組件是獨(dú)立地可解碼ASN1數(shù)據(jù)類(lèi)型。嚴(yán)格的說(shuō),容器類(lèi)是唯一允許使用結(jié)構(gòu)化位的數(shù)據(jù)類(lèi)型。這是因?yàn)閷?duì)于其他數(shù)據(jù)類(lèi)型,給定內(nèi)容,只允許一種編碼。所以其他所有數(shù)據(jù)類(lèi)型的結(jié)構(gòu)化位都為0。8.3. 原始類(lèi)型ASN.1頭字節(jié)的低5位定義了32種ASN1的原始類(lèi)型(primitivetype)代碼ASN1色作用1布爾型存儲(chǔ)布爾值2整數(shù)存儲(chǔ)整數(shù)3位串存儲(chǔ)位數(shù)組4八位位串存儲(chǔ)字節(jié)數(shù)組5空預(yù)留位(例如在選擇修改器中

18、)6對(duì)象標(biāo)識(shí)符標(biāo)識(shí)算法及協(xié)議16序列和單一序列未分類(lèi)元素的容器17集合和單一集合已分類(lèi)元素的容器19可打印字符串ASCII編碼(忽略一些/、可打印字符)22IA5StringASCII編碼23世界協(xié)調(diào)時(shí)以統(tǒng)一格式表示的時(shí)間9. ASN.1長(zhǎng)度編碼根據(jù)編碼的實(shí)際長(zhǎng)度,ASN.1定義了兩種長(zhǎng)度編碼(lengthencoding)方法,定長(zhǎng)方式(長(zhǎng)編碼和短編碼),不定長(zhǎng)方式。編碼字節(jié)的最高位代表的是短編碼還是長(zhǎng)編碼;而低7位則形成一個(gè)長(zhǎng)度立即數(shù)。罩,T654321予長(zhǎng)度立即教長(zhǎng)編.位ASN.1長(zhǎng)度編刊字節(jié)9.1. 定長(zhǎng)方式9.1.1.短編碼在短編碼中,負(fù)載白長(zhǎng)度必須小于128字節(jié)。長(zhǎng)度立即數(shù)用來(lái)表示

19、負(fù)載的長(zhǎng)度。例如,對(duì)于一個(gè)長(zhǎng)度為65(0x41)的負(fù)載進(jìn)行編碼,其長(zhǎng)度編碼字節(jié)只需簡(jiǎn)單的設(shè)置為0x41即可。因?yàn)槠渥罡呶皇?,則編碼器可以判斷出這是短編碼,而且長(zhǎng)度是65。9.1.2. 長(zhǎng)編碼。在長(zhǎng)編碼中,定義了附加的抽象數(shù)據(jù)來(lái)對(duì)長(zhǎng)度進(jìn)行編碼,它僅適用于所有長(zhǎng)度為128字節(jié)或以上的負(fù)載。在這種模式下,長(zhǎng)度立即數(shù)存儲(chǔ)的是為了表示負(fù)載長(zhǎng)度所需的字節(jié)數(shù)。這個(gè)長(zhǎng)度必須以big-endian格式進(jìn)行編碼。例如,為一個(gè)長(zhǎng)度為47310(0xB8CE)的負(fù)載進(jìn)行編碼,因?yàn)樗拈L(zhǎng)度大于127,所以要采用長(zhǎng)編碼方式。實(shí)際的長(zhǎng)度需要1個(gè)字節(jié)來(lái)表示。則,長(zhǎng)度編碼字節(jié)為0x8102;然后用big-endian格式存儲(chǔ)

20、的長(zhǎng)度值為0xB80xCE則全部長(zhǎng)度編碼為0x8102B8CE。9.2. 不定長(zhǎng)方式Length所在八位組固定編碼為0x80,但在Value編碼結(jié)束后以?xún)蓚€(gè)0x00結(jié)尾。這種方式使得可以在編碼沒(méi)有完全結(jié)束的情況下,可以先發(fā)送部分消息給對(duì)方。圖解如下所示: Shortdefiniteform(L128octets)L octetsoneoctetLength LContents fieldfirst octetLength L Contents field Longdefiniteform128L21C0eoctets)KoctetsLoctols Indcfinitcform;contentf

21、ieldterminatedbyEOCone octettwooctetsoooooooContents fieldEOC 000(TH10. ASN.1的數(shù)據(jù)類(lèi)型DLMSf關(guān)的數(shù)據(jù)類(lèi)型。我ASN.1針對(duì)廣泛的應(yīng)用定義了多種數(shù)據(jù)類(lèi)型,這里只討論跟們將討論如下數(shù)據(jù)類(lèi)型:布爾型(Boolean);八位位組串(OCTETString);位串(BITString);IA5String;可打印字符串(PrintableString);整數(shù)(INTEGER);對(duì)象標(biāo)識(shí)符(OBJECTIdentifier,OID);世界協(xié)調(diào)時(shí)(UTCTIME);空(NULL);序列,單一序列;集合;單一集合;任彳SJASN

22、.1編碼都是以?xún)蓚€(gè)字節(jié)開(kāi)始(或者八位位組,含有8個(gè)二進(jìn)制位),不管什么類(lèi)型它們都是通用的.第一個(gè)字節(jié)是類(lèi)型標(biāo)識(shí)符,也包含一些修正位;第二各字節(jié)是長(zhǎng)度。10.1. ASN,1布爾類(lèi)型布爾編碼的負(fù)載或者是全0或者是任何不是全0的八位位組。頭字節(jié)以0x01開(kāi)始,長(zhǎng)度編碼字節(jié)為0x01,負(fù)載內(nèi)容取決于布爾值的取值。布爾值編碼False0x010100True0x0101FF10.2. ASN.1整數(shù)類(lèi)型類(lèi)數(shù)類(lèi)型表示一個(gè)有符號(hào)的任意精度的標(biāo)量,它的編碼是可移植,平臺(tái)無(wú)關(guān)的。正整數(shù)的編碼比較簡(jiǎn)單。每個(gè)字節(jié)表示的最大整數(shù)是255(0xFF),存儲(chǔ)的實(shí)際數(shù)值分成字節(jié)大小的數(shù)字,并且以big-endian格式存

23、儲(chǔ)。例如:x-256k京4+256*-1+_.+256*x0八位位組Xk,Xk-1,oooo,X0將以遞減的順序從Xk到X0進(jìn)行存儲(chǔ).編碼規(guī)定正整數(shù)的第一個(gè)字節(jié)的最高位必須是0,即Xk的最高為必須是0,為1的話則為負(fù)數(shù).例如:x=49468=193*256+60=0xC1*0xFF+0x3C;即X1=0xC1,X0=0x3C。按正常規(guī)定,編碼應(yīng)該是0x0202C13C,但是X1的最高位是1,應(yīng)該被看成負(fù)數(shù).最簡(jiǎn)單的方法是用前端零字節(jié)進(jìn)行填充.編碼變?yōu)?x020200C13C。負(fù)整數(shù)的編碼有些復(fù)雜.要先找到一個(gè)最小的256的哥,使它比要編碼的負(fù)數(shù)的絕對(duì)值還要大.例如:x=-1555;被1555大

24、的256的最小的哥是256A2=65536;然后將這個(gè)數(shù)跟負(fù)數(shù)相加以得到2的補(bǔ)碼.65536+(-1555)=63981=0xF9*0xFF+0xED。貝U編碼為0x0202F9ED。以下是一些常用整數(shù)編碼的例子:值編碼00x02010010x02010120x0201021270x02017F1280x02020080-10x0201FF-1280x020180-327680x0202800012345678900x0204499602D210.3. ASN.1位串類(lèi)型位串(BITSTRING)類(lèi)型以可移植形式表示位數(shù)組.除了ASN1頭部?jī)蓚€(gè)字節(jié)之外,還有一個(gè)附加的頭部用來(lái)表示填充數(shù)據(jù)(通常

25、是一個(gè)字節(jié),因?yàn)樘畛涫菫榱诵纬梢粋€(gè)完整的字節(jié)).編碼規(guī)則:位串的第一位放到第一個(gè)負(fù)載字節(jié)的第8位;位串的第二位放到第一個(gè)負(fù)載字節(jié)的第7位;依此類(lèi)推.填充滿(mǎn)第一個(gè)負(fù)載字節(jié),就繼續(xù)填充第二個(gè)負(fù)載字節(jié).如果最后一個(gè)負(fù)載字節(jié)未被填充滿(mǎn),空的位用0來(lái)填充,0的個(gè)數(shù)存放到頭部用來(lái)表示填充數(shù)據(jù)的那個(gè)字節(jié)里.下面舉例說(shuō)明:有一個(gè)位串1,0,0,0,1,1,1,0,1,0,0,1,開(kāi)始填充負(fù)載字節(jié).第一個(gè)字節(jié)填充后為10001110=0x8E;第二個(gè)字節(jié)填充后為10010000=0x90,低位4個(gè)0為填充的空位.則,負(fù)載為2個(gè)字節(jié)加上表示填充0個(gè)數(shù)的一個(gè)字節(jié)0x04總共3個(gè)字節(jié).則完整的編碼為:0x030304

26、8E90。解碼器通過(guò)計(jì)算8*負(fù)載長(zhǎng)度-填充數(shù)來(lái)得到存儲(chǔ)輸出所需要的位數(shù).10.4. ASN.1八位位組串類(lèi)型八位位組串(OCTETSTRING謔保存字節(jié)數(shù)組,它和位串類(lèi)型(BITSTRING/艮相似.這種編碼非常簡(jiǎn)單,像其他類(lèi)型一樣對(duì)頭部進(jìn)行編碼,然后直接將八位位組復(fù)制過(guò)去即可例如:FE,ED,6A,B4編碼;首先存儲(chǔ)類(lèi)型0x04,接著是長(zhǎng)度0x04,然后是字節(jié)本身0xFEED6AB4;完整的編碼為0x0404FEED6AB4。10.5. 空類(lèi)型空(NULL)類(lèi)型實(shí)際上是占位符,它是含有空白選項(xiàng)的選擇修改器所特有。例如:MyAccount:=SEQUENCENameIA5String,Grou

27、pIA5String,CredentialsCHOICErsaKeyRSAPublicKey,passwdHashOCTETSTRING,noneNULL在上面這個(gè)結(jié)構(gòu)中,帳號(hào)白證書(shū)應(yīng)該包含一個(gè)RSA密鑰或一個(gè)密碼散列值或什么都沒(méi)有空類(lèi)型的編碼是0x0500。10.6. 對(duì)象標(biāo)識(shí)標(biāo)符類(lèi)型對(duì)象標(biāo)識(shí)符(OBJECTIDENTIFIER,OID)類(lèi)型用層次的形式來(lái)表示標(biāo)準(zhǔn)規(guī)范。標(biāo)識(shí)符樹(shù)通過(guò)一個(gè)點(diǎn)分的十進(jìn)制符號(hào)來(lái)定義,這個(gè)符號(hào)以組織,子部分然后是標(biāo)準(zhǔn)的類(lèi)型和各自的子標(biāo)識(shí)符開(kāi)始。例如:Application-context-name的LN引用表示為joint-iso-ccitt(2)country(16

28、)country-name(756)identified-organization(5)DLMS-UA(8)Application-context(1)context_id(1)對(duì)OID的編碼規(guī)則:前兩部分如果定義為x。y,那么它們將合成一個(gè)字40*x+y,其余部分單獨(dú)作為一個(gè)字節(jié)進(jìn)行編碼。每個(gè)字首先被分割為最少數(shù)量的沒(méi)有頭零數(shù)字的7位數(shù)字。這些數(shù)字以big-endian格式進(jìn)行組織,并且一個(gè)接一個(gè)地組合成字節(jié)。除了編碼的最后一個(gè)字節(jié)外,其他所有字節(jié)的最高位(位8)都為0。Application-context-nameOID的編碼:第一步:將2.16.756.5.8.1.1轉(zhuǎn)換成字?jǐn)?shù)組96,756,5,8,1,1。第二步:將每個(gè)字分割為帶有最高位的7位數(shù)字,0x60,ox85,0x74,0x05,0x02,0x08,0x01,0x01。第三步:完整的編碼為06

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論