一種實(shí)現(xiàn)密鑰信息編解碼的裝置及其工作方法
【專利摘要】本發(fā)明公開(kāi)一種實(shí)現(xiàn)密鑰信息編解碼的裝置及其工作方法,其中,編碼裝置將密鑰信息編碼為統(tǒng)一格式的密鑰文件,解碼裝置對(duì)密鑰文件進(jìn)行解碼,得到密鑰信息,使得認(rèn)證系統(tǒng)能夠?qū)Χ鄠€(gè)設(shè)備廠商配置的密鑰信息執(zhí)行統(tǒng)一的處理流程,減輕了認(rèn)證系統(tǒng)的工作負(fù)擔(dān)。
【專利說(shuō)明】一種實(shí)現(xiàn)密鑰信息編解碼的裝置及其工作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及信息安全領(lǐng)域,特別涉及一種實(shí)現(xiàn)密鑰信息編解碼的裝置及其工作方 法。
【背景技術(shù)】
[0002] 隨著信息安全技術(shù)的發(fā)展,種子密鑰作為數(shù)據(jù)處理過(guò)程中必不可少的參數(shù),已廣 泛應(yīng)用于數(shù)據(jù)加解密、身份認(rèn)證和完整性驗(yàn)證等領(lǐng)域。
[0003] 現(xiàn)有技術(shù)中,設(shè)備廠商將包括種子密鑰在內(nèi)的密鑰信息配置到認(rèn)證系統(tǒng)中,認(rèn)證 系統(tǒng)對(duì)多個(gè)設(shè)備廠商配置的密鑰信息進(jìn)行集成。為提高認(rèn)證系統(tǒng)中的密鑰信息的兼容性, 通常要求設(shè)備廠商使用統(tǒng)一格式的密鑰文件配置密鑰信息。
[0004] 然而,現(xiàn)有技術(shù)中并沒(méi)有基于統(tǒng)一格式的密鑰文件提供密鑰信息的編解碼方法, 導(dǎo)致認(rèn)證系統(tǒng)無(wú)法對(duì)多個(gè)設(shè)備廠商配置的密鑰信息執(zhí)行統(tǒng)一的處理流程,從而加重了認(rèn)證 系統(tǒng)的工作負(fù)擔(dān)。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明提供了一種實(shí)現(xiàn)密鑰信息編解碼的裝置及其工作方法,以解決現(xiàn)有技術(shù)中 認(rèn)證系統(tǒng)工作負(fù)擔(dān)重的缺陷。
[0006] 本發(fā)明提供了一種實(shí)現(xiàn)密鑰信息編碼的裝置的工作方法,包括以下步驟:
[0007] S1、編碼裝置生成密鑰容器節(jié)點(diǎn),將所述密鑰容器節(jié)點(diǎn)作為根節(jié)點(diǎn)添加到密鑰文 件中;
[0008] S2、所述編碼裝置生成密鑰包節(jié)點(diǎn),將所述密鑰包節(jié)點(diǎn)作為所述密鑰容器節(jié)點(diǎn)的 子節(jié)點(diǎn)添加到所述密鑰容器節(jié)點(diǎn)中;
[0009] S3、所述編碼裝置生成設(shè)備信息節(jié)點(diǎn),將所述設(shè)備信息節(jié)點(diǎn)作為所述密鑰包節(jié)點(diǎn) 的子節(jié)點(diǎn)添加到所述密鑰包節(jié)點(diǎn)中;
[0010] S4、所述編碼裝置生成廠商節(jié)點(diǎn)和序列號(hào)節(jié)點(diǎn),將所述廠商節(jié)點(diǎn)和所述序列號(hào)節(jié) 點(diǎn)作為所述設(shè)備信息節(jié)點(diǎn)的子節(jié)點(diǎn)添加到所述設(shè)備信息節(jié)點(diǎn)中,從密鑰信息的密鑰屬性列 表中讀取廠商信息和設(shè)備序列號(hào),將所述廠商信息作為文本節(jié)點(diǎn)添加到所述廠商節(jié)點(diǎn)中, 將所述設(shè)備序列號(hào)作為文本節(jié)點(diǎn)添加到所述序列號(hào)節(jié)點(diǎn)中;
[0011] S5、所述編碼裝置生成密鑰節(jié)點(diǎn),將所述密鑰節(jié)點(diǎn)作為所述密鑰包節(jié)點(diǎn)的子節(jié)點(diǎn) 添加到所述密鑰包節(jié)點(diǎn)中;
[0012] S6、所述編碼裝置從所述密鑰屬性列表中讀取密鑰標(biāo)識(shí)、密鑰算法信息和密鑰明 文,根據(jù)所述密鑰標(biāo)識(shí)生成密鑰標(biāo)識(shí)節(jié)點(diǎn),根據(jù)所述密鑰算法信息生成密鑰算法節(jié)點(diǎn),將所 述密鑰標(biāo)識(shí)節(jié)點(diǎn)和所述密鑰算法節(jié)點(diǎn)作為屬性節(jié)點(diǎn)添加到所述密鑰節(jié)點(diǎn)中;所述編碼裝置 生成數(shù)據(jù)節(jié)點(diǎn),將所述數(shù)據(jù)節(jié)點(diǎn)作為所述密鑰節(jié)點(diǎn)的子節(jié)點(diǎn)添加到所述密鑰節(jié)點(diǎn)中;所述 編碼裝置生成密鑰值節(jié)點(diǎn),將所述密鑰值節(jié)點(diǎn)作為所述數(shù)據(jù)節(jié)點(diǎn)的子節(jié)點(diǎn)添加到所述數(shù)據(jù) 節(jié)點(diǎn)中,將所述密鑰明文或與所述密鑰明文對(duì)應(yīng)的密鑰密文添加到所述密鑰值節(jié)點(diǎn)中。
[0013] 本發(fā)明還提供了一種實(shí)現(xiàn)密鑰信息解碼的裝置的工作方法,包括以下步驟:
[0014] S1、解碼裝置從密鑰文件的根節(jié)點(diǎn)中查找密鑰包節(jié)點(diǎn),如果查找到,則執(zhí)行步驟 S2 ;否則,顯示錯(cuò)誤信息,結(jié)束流程;
[0015] S2、所述解碼裝置從所述密鑰包節(jié)點(diǎn)中查找設(shè)備信息節(jié)點(diǎn),從所述設(shè)備信息節(jié)點(diǎn) 中查找廠商節(jié)點(diǎn)和序列號(hào)節(jié)點(diǎn),獲取所述廠商節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本 內(nèi)容作為廠商信息進(jìn)行保存,獲取所述序列號(hào)節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本 內(nèi)容作為設(shè)備序列號(hào)進(jìn)行保存;
[0016] S3、所述解碼裝置從所述密鑰包節(jié)點(diǎn)中查找密鑰節(jié)點(diǎn),如果查找到,則執(zhí)行步驟 S4 ;否則,顯示錯(cuò)誤信息,結(jié)束流程;
[0017] S4、所述解碼裝置獲取所述密鑰節(jié)點(diǎn)中的密鑰算法節(jié)點(diǎn)的屬性值,將獲取到的屬 性值作為密鑰算法信息進(jìn)行保存;獲取所述密鑰節(jié)點(diǎn)中的密鑰標(biāo)識(shí)節(jié)點(diǎn)的屬性值,將獲取 到的屬性值作為密鑰標(biāo)識(shí)進(jìn)行保存;
[0018] S5、所述解碼裝置從所述密鑰節(jié)點(diǎn)中查找數(shù)據(jù)節(jié)點(diǎn),如果查找到,則執(zhí)行步驟S6 ; 否則,顯示錯(cuò)誤信息,結(jié)束流程;
[0019] S6、所述解碼裝置從所述數(shù)據(jù)節(jié)點(diǎn)中查找密鑰值節(jié)點(diǎn),如果查找到,則執(zhí)行步驟 S7 ;否則,顯示錯(cuò)誤信息,結(jié)束流程;
[0020] S7、所述解碼裝置從所述密鑰值節(jié)點(diǎn)中獲取密鑰明文進(jìn)行保存,
[0021] 或者,所述解碼裝置從所述密鑰值節(jié)點(diǎn)中獲取密鑰密文,對(duì)所述密鑰密文進(jìn)行解 密,對(duì)解密得到的密鑰明文進(jìn)行保存。
[0022] 本發(fā)明還提供了一種編碼裝置,包括:
[0023] 讀取模塊,用于從密鑰信息的密鑰屬性列表中讀取廠商信息、設(shè)備序列號(hào)、密鑰標(biāo) 識(shí)、密鑰算法信息和密鑰明文;
[0024] 生成模塊,用于生成密鑰容器節(jié)點(diǎn),將所述密鑰容器節(jié)點(diǎn)作為根節(jié)點(diǎn)添加到密鑰 文件中;生成密鑰包節(jié)點(diǎn),將所述密鑰包節(jié)點(diǎn)作為所述密鑰容器節(jié)點(diǎn)的子節(jié)點(diǎn)添加到所述 密鑰容器節(jié)點(diǎn)中;生成設(shè)備信息節(jié)點(diǎn)和密鑰節(jié)點(diǎn),將所述設(shè)備信息節(jié)點(diǎn)和所述密鑰節(jié)點(diǎn)作 為所述密鑰包節(jié)點(diǎn)的子節(jié)點(diǎn)添加到所述密鑰包節(jié)點(diǎn)中;
[0025] 生成廠商節(jié)點(diǎn)和序列號(hào)節(jié)點(diǎn),將所述廠商節(jié)點(diǎn)和所述序列號(hào)節(jié)點(diǎn)作為所述設(shè)備信 息節(jié)點(diǎn)的子節(jié)點(diǎn)添加到所述設(shè)備信息節(jié)點(diǎn)中;將所述讀取模塊讀取到的所述廠商信息作為 文本節(jié)點(diǎn)添加到所述廠商節(jié)點(diǎn)中,將所述讀取模塊讀取到的所述設(shè)備序列號(hào)作為文本節(jié)點(diǎn) 添加到所述序列號(hào)節(jié)點(diǎn)中;
[0026] 根據(jù)所述讀取模塊讀取到的所述密鑰算法信息生成密鑰算法節(jié)點(diǎn),根據(jù)所述讀取 模塊讀取到的密鑰標(biāo)識(shí)生成密鑰標(biāo)識(shí)節(jié)點(diǎn),將所述密鑰標(biāo)識(shí)節(jié)點(diǎn)和所述密鑰算法節(jié)點(diǎn)作為 屬性節(jié)點(diǎn)添加到所述密鑰節(jié)點(diǎn)中;生成數(shù)據(jù)節(jié)點(diǎn),將所述數(shù)據(jù)節(jié)點(diǎn)作為所述密鑰節(jié)點(diǎn)的子 節(jié)點(diǎn)添加到所述密鑰節(jié)點(diǎn)中;生成密鑰值節(jié)點(diǎn),將所述密鑰值節(jié)點(diǎn)作為所述數(shù)據(jù)節(jié)點(diǎn)的子 節(jié)點(diǎn)添加到所述數(shù)據(jù)節(jié)點(diǎn)中;
[0027] 添加模塊,用于將所述讀取模塊讀取到的所述密鑰明文或與所述密鑰明文對(duì)應(yīng)的 密鑰密文添加到所述密鑰值節(jié)點(diǎn)中。
[0028] 本發(fā)明還提供了一種解碼裝置,包括:
[0029] 查找模塊,用于從密鑰文件的根節(jié)點(diǎn)中查找密鑰包節(jié)點(diǎn),如果查找到所述密鑰包 節(jié)點(diǎn),則從所述密鑰包節(jié)點(diǎn)中查找設(shè)備信息節(jié)點(diǎn),從所述設(shè)備信息節(jié)點(diǎn)中查找廠商節(jié)點(diǎn)、序 列號(hào)節(jié)點(diǎn)和密鑰節(jié)點(diǎn);如果查找到所述密鑰節(jié)點(diǎn),則從所述密鑰節(jié)點(diǎn)中查找數(shù)據(jù)節(jié)點(diǎn);如 果查找到所述數(shù)據(jù)節(jié)點(diǎn),則從所述數(shù)據(jù)節(jié)點(diǎn)中查找密鑰值節(jié)點(diǎn);
[0030] 第一獲取模塊,用于在所述查找模塊查找到所述廠商節(jié)點(diǎn)時(shí),獲取所述廠商節(jié)點(diǎn) 的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作為廠商信息進(jìn)行保存;在所述查找模塊查找 到所述序列號(hào)節(jié)點(diǎn)時(shí),獲取所述序列號(hào)節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作 為設(shè)備序列號(hào)進(jìn)行保存;在所述查找模塊查找到所述密鑰節(jié)點(diǎn)時(shí),獲取所述密鑰節(jié)點(diǎn)中的 密鑰算法節(jié)點(diǎn)的屬性值,將獲取到的屬性值作為密鑰算法信息進(jìn)行保存;獲取所述密鑰節(jié) 點(diǎn)中的密鑰標(biāo)識(shí)節(jié)點(diǎn)的屬性值,將獲取到的屬性值作為密鑰標(biāo)識(shí)進(jìn)行保存;
[0031] 第二獲取模塊,用于在所述查找模塊查找到密鑰值節(jié)點(diǎn)時(shí),從所述密鑰值節(jié)點(diǎn)中 獲取密鑰明文進(jìn)行保存,
[0032] 或者,從所述密鑰值節(jié)點(diǎn)中獲取密鑰密文,對(duì)所述密鑰密文進(jìn)行解密,對(duì)解密得到 的密鑰明文進(jìn)行保存;
[0033] 顯示模塊,用于在所述查找模塊沒(méi)有查找到所述密鑰包節(jié)點(diǎn)、所述密鑰節(jié)點(diǎn)、所述 數(shù)據(jù)節(jié)點(diǎn)或所述密鑰值節(jié)點(diǎn)時(shí),顯示錯(cuò)誤信息。
[0034] 本發(fā)明達(dá)到的有益效果:編碼裝置將密鑰信息編碼為統(tǒng)一格式的密鑰文件,解碼 裝置對(duì)密鑰文件進(jìn)行解碼,得到密鑰信息,使得認(rèn)證系統(tǒng)能夠?qū)Χ鄠€(gè)設(shè)備廠商配置的密鑰 信息執(zhí)行統(tǒng)一的處理流程,減輕了認(rèn)證系統(tǒng)的工作負(fù)擔(dān)。
【專利附圖】
【附圖說(shuō)明】
[0035] 圖1和圖2為本發(fā)明實(shí)施例中的一種實(shí)現(xiàn)密鑰信息編碼的裝置的工作方法流程 圖;
[0036] 圖3至圖6為本發(fā)明實(shí)施例中的一種實(shí)現(xiàn)密鑰信息解碼的裝置的工作方法流程 圖;
[0037] 圖7為本發(fā)明實(shí)施例中的一種編碼裝置的結(jié)構(gòu)示意圖;
[0038] 圖8為本發(fā)明實(shí)施例中的一種解碼裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0039] 下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0040] 本發(fā)明實(shí)施例提供了一種實(shí)現(xiàn)密鑰信息編解碼的裝置及其工作方法,應(yīng)用于包括 編碼裝置和解碼裝置的系統(tǒng),其中,編碼裝置對(duì)密鑰信息進(jìn)行編碼,生成密鑰文件,該密鑰 文件為XML文件;相應(yīng)地,解碼裝置對(duì)密鑰文件進(jìn)行解碼,得到密鑰信息。
[0041] 其中,密鑰信息可以包括密鑰傳輸方式和至少一個(gè)密鑰屬性列表,每個(gè)密鑰屬性 列表包括廠商信息、設(shè)備序列號(hào)、密鑰標(biāo)識(shí)、密鑰算法信息和密鑰明文。當(dāng)密鑰傳輸方式為 密文傳輸時(shí),密鑰信息中還包括加密密鑰名和加密密鑰算法信息,且還可進(jìn)一步包括MAC 密鑰和MAC算法信息。
[0042] 基于上述密鑰信息,本發(fā)明實(shí)施例提供了一種實(shí)現(xiàn)密鑰信息編碼的裝置的工作方 法,如圖1和圖2所示,包括以下步驟:
[0043] 步驟101,編碼裝置生成密鑰容器節(jié)點(diǎn),將密鑰容器節(jié)點(diǎn)作為根節(jié)點(diǎn)添加到密鑰文 件中。
[0044] 具體地,編碼裝置生成密鑰容器節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,將密鑰容器節(jié)點(diǎn)的 起始標(biāo)記和結(jié)束標(biāo)記添加到密鑰文件中。
[0045] 例如,編碼裝置在密鑰文件中添加密鑰容器節(jié)點(diǎn)的起始標(biāo)記〈KeyContainer〉和 結(jié)束標(biāo)記〈/KeyContainer〉。
[0046] 步驟102,編碼裝置從密鑰信息中讀取密鑰傳輸方式,判斷密鑰傳輸方式是否為明 文傳輸,如果是,則執(zhí)行步驟103 ;否則,則執(zhí)行步驟117。
[0047] 具體地,編碼裝置可以判斷密鑰信息中的密鑰傳輸方式是否為預(yù)設(shè)字符,如果是, 則確定密鑰傳輸方式為明文傳輸,否則,確定密鑰傳輸方式不是明文傳輸。
[0048] 例如,預(yù)設(shè)字符為"PLAIN"時(shí),當(dāng)密鑰信息中的密鑰傳輸方式為"PLAIN"時(shí),編碼 裝置確定密鑰傳輸方式為明文傳輸;當(dāng)密鑰信息中的密鑰傳輸方式為"AES128"時(shí),編碼裝 置確定密鑰傳輸方式不是明文傳輸。
[0049] 步驟103,編碼裝置從密鑰信息中選取一個(gè)未被處理過(guò)的密鑰屬性列表作為當(dāng)前 列表。
[0050] 步驟104,編碼裝置生成密鑰包節(jié)點(diǎn),將密鑰包節(jié)點(diǎn)作為密鑰容器節(jié)點(diǎn)的子節(jié)點(diǎn)添 加到密鑰容器節(jié)點(diǎn)中。
[0051] 具體地,編碼裝置生成密鑰包節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,將密鑰包節(jié)點(diǎn)的起始 標(biāo)記和結(jié)束標(biāo)記添加到密鑰容器節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間。
[0052] 例如,編碼裝置將密鑰包節(jié)點(diǎn)的起始標(biāo)記〈KeyPackage〉和結(jié)束標(biāo)記〈/ KeyPackage〉添加到密鑰容器節(jié)點(diǎn)的起始標(biāo)記〈KeyContainer〉和結(jié)束標(biāo)記〈/ KeyContainer> 之間。
[0053] 步驟105,編碼裝置生成設(shè)備信息節(jié)點(diǎn),將設(shè)備信息節(jié)點(diǎn)作為密鑰包節(jié)點(diǎn)的子節(jié)點(diǎn) 添加到密鑰包節(jié)點(diǎn)中。
[0054] 具體地,編碼裝置生成設(shè)備信息節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,將設(shè)備信息節(jié)點(diǎn)的 起始標(biāo)記和結(jié)束標(biāo)記添加到密鑰包節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間。
[0055] 例如,編碼裝置將設(shè)備信息節(jié)點(diǎn)的起始標(biāo)記〈Deviceinfo〉和結(jié)束標(biāo)記〈/ Deviceinfo〉添加到密鑰包節(jié)點(diǎn)的起始標(biāo)記〈KeyPackage〉和結(jié)束標(biāo)記〈/KeyPackage〉之 間。
[0056] 步驟106,編碼裝置生成廠商節(jié)點(diǎn),將廠商節(jié)點(diǎn)作為設(shè)備信息節(jié)點(diǎn)的子節(jié)點(diǎn)添加到 設(shè)備信息節(jié)點(diǎn)中。
[0057] 具體地,編碼裝置生成廠商節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,將廠商節(jié)點(diǎn)的起始標(biāo)記 和結(jié)束標(biāo)記添加到設(shè)備信息節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間。
[0058] 例如,編碼裝置將廠商節(jié)點(diǎn)的起始標(biāo)記〈Manufacturer〉和結(jié)束標(biāo)記〈/ Manufacturer〉添加到設(shè)備信息節(jié)點(diǎn)的起始標(biāo)記〈Deviceinfo〉和結(jié)束標(biāo)記〈/Deviceinfo〉 之間。
[0059] 步驟107,編碼裝置從當(dāng)前列表中讀取廠商信息,將廠商信息作為文本節(jié)點(diǎn)添加到 廠商節(jié)點(diǎn)中。
[0060] 具體地,編碼裝置從當(dāng)前列表中讀取廠商信息,并將廠商信息添加到廠商節(jié)點(diǎn)的 起始標(biāo)記和結(jié)束標(biāo)記之間。
[0061] 例如,編碼裝置從當(dāng)前列表中讀取廠商信息"Manufacturer",并將廠商信息 "Manufacturer"添加到廠商節(jié)點(diǎn)的起始標(biāo)記〈Deviceinfo〉和結(jié)束標(biāo)記〈/Deviceinfo〉之 間。
[0062] 步驟108,編碼裝置生成序列號(hào)節(jié)點(diǎn),將序列號(hào)節(jié)點(diǎn)作為設(shè)備信息節(jié)點(diǎn)的子節(jié)點(diǎn)添 加到設(shè)備信息節(jié)點(diǎn)中。
[0063] 具體地,編碼裝置生成序列號(hào)節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,將序列號(hào)節(jié)點(diǎn)的起始 標(biāo)記和結(jié)束標(biāo)記添加到設(shè)備信息節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間。
[0064] 例如,編碼裝置將序列號(hào)節(jié)點(diǎn)的起始標(biāo)記〈SerialNo〉和結(jié)束標(biāo)記〈/SerialNo〉添 加到設(shè)備信息節(jié)點(diǎn)的起始標(biāo)記〈Deviceinfo〉和結(jié)束標(biāo)記〈/Deviceinfo〉之間。
[0065] 步驟109,編碼裝置從當(dāng)前列表中讀取設(shè)備序列號(hào),將設(shè)備序列號(hào)作為文本節(jié)點(diǎn)添 加到序列號(hào)節(jié)點(diǎn)中。
[0066] 具體地,編碼裝置從當(dāng)前列表中讀取設(shè)備序列號(hào),并在序列號(hào)節(jié)點(diǎn)的起始標(biāo)記和 結(jié)束標(biāo)記之間添加設(shè)備序列號(hào)。
[0067] 例如,編碼裝置從當(dāng)前列表中讀取設(shè)備序列號(hào)"987654321",并在序列號(hào)節(jié)點(diǎn)的起 始標(biāo)記和結(jié)束標(biāo)記之間添加設(shè)備序列號(hào)"987654321"。
[0068] 步驟110,編碼裝置生成密鑰節(jié)點(diǎn),將密鑰節(jié)點(diǎn)作為密鑰包節(jié)點(diǎn)的子節(jié)點(diǎn)添加到密 鑰包節(jié)點(diǎn)中。
[0069] 具體地,編碼裝置生成密鑰節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,將密鑰節(jié)點(diǎn)的起始標(biāo)記 和結(jié)束標(biāo)記添加到密鑰包節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間。
[0070] 例如,編碼裝置將密鑰節(jié)點(diǎn)的起始標(biāo)記〈Key〉和結(jié)束標(biāo)記〈/Key〉添加到密鑰包節(jié) 點(diǎn)的起始標(biāo)記〈KeyPackage〉和結(jié)束標(biāo)記〈/KeyPackage〉之間。
[0071] 步驟111,編碼裝置從當(dāng)前列表中讀取密鑰標(biāo)識(shí)和密鑰算法信息,根據(jù)密鑰標(biāo)識(shí)生 成密鑰標(biāo)識(shí)節(jié)點(diǎn),根據(jù)密鑰算法信息生成密鑰算法節(jié)點(diǎn),將密鑰標(biāo)識(shí)節(jié)點(diǎn)和密鑰算法節(jié)點(diǎn) 作為屬性節(jié)點(diǎn)添加到密鑰節(jié)點(diǎn)中。
[0072] 具體地,編碼裝置從當(dāng)前列表中讀取密鑰標(biāo)識(shí)和密鑰算法信息,將密鑰標(biāo)識(shí)作為 屬性值生成密鑰標(biāo)識(shí)節(jié)點(diǎn),將密鑰算法信息作為屬性值生成密鑰算法節(jié)點(diǎn),并在密鑰節(jié)點(diǎn) 的起始標(biāo)記中添加密鑰標(biāo)識(shí)節(jié)點(diǎn)和密鑰算法節(jié)點(diǎn)。其中,密鑰標(biāo)識(shí)節(jié)點(diǎn)和密鑰算法節(jié)點(diǎn)均 為屬性節(jié)點(diǎn),均包括屬性名和屬性值。
[0073] 例如,編碼裝置從當(dāng)前列表中讀取密鑰標(biāo)識(shí)"12345678"和密鑰算法信息"urn: ietf:params:xml:ns:keyprov:pskc:hotp",根據(jù)密鑰標(biāo)識(shí)生成密鑰標(biāo)識(shí)節(jié)點(diǎn),即,Id = 〃12345678〃 ;根據(jù)密鑰算法信息生成密鑰算法節(jié)點(diǎn),即,Algorithm = 〃urn:ietf:params:x ml :ns:keyprov:pskc:hotp〃,并在密鑰節(jié)點(diǎn)的起始標(biāo)記〈Key〉中添加上述密鑰標(biāo)識(shí)節(jié)點(diǎn)和 密鑰算法節(jié)點(diǎn)。
[0074] 其中,密鑰標(biāo)識(shí)節(jié)點(diǎn)包括屬性名" Id"和屬性值" 12345678",密鑰算法節(jié)點(diǎn)包括屬 性名 "Algorithm" 和屬性值"urn: ietf :params:xml:ns:keyprov:pskc:hotp",添加上述信 息后,密鑰節(jié)點(diǎn)的起始標(biāo)記被更新為:〈Key Id = 〃12345678〃Algorithm = 〃urn:ietf:par ams: xml: ns:keyprov:pskc:hotp〃> 〇
[0075] 步驟112,編碼裝置生成數(shù)據(jù)節(jié)點(diǎn),將數(shù)據(jù)節(jié)點(diǎn)作為密鑰節(jié)點(diǎn)的子節(jié)點(diǎn)添加到密鑰 節(jié)點(diǎn)中。
[0076] 具體地,編碼裝置生成數(shù)據(jù)節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,將數(shù)據(jù)節(jié)點(diǎn)的起始標(biāo)記 和結(jié)束標(biāo)記添加到密鑰節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間。
[0077] 例如,編碼裝置將數(shù)據(jù)節(jié)點(diǎn)的起始標(biāo)記〈Data〉和結(jié)束標(biāo)記〈/Data〉添加到密鑰節(jié) 點(diǎn)的起始標(biāo)記〈Key〉和結(jié)束標(biāo)記〈/Key〉之間。
[0078] 步驟113,編碼裝置生成密鑰值節(jié)點(diǎn),將密鑰值節(jié)點(diǎn)作為數(shù)據(jù)節(jié)點(diǎn)的子節(jié)點(diǎn)添加到 數(shù)據(jù)節(jié)點(diǎn)中。
[0079] 具體地,編碼裝置生成密鑰值節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,在數(shù)據(jù)節(jié)點(diǎn)的起始標(biāo) 記和結(jié)束標(biāo)記之間添加密鑰值節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記。
[0080] 例如,編碼裝置在數(shù)據(jù)節(jié)點(diǎn)的起始標(biāo)記〈Data〉和結(jié)束標(biāo)記〈/Data〉之間添加密鑰 值節(jié)點(diǎn)的起始標(biāo)記〈Secret〉和結(jié)束標(biāo)記〈/Secret〉。
[0081] 步驟114,編碼裝置生成第一明文節(jié)點(diǎn),將第一明文節(jié)點(diǎn)作為密鑰值節(jié)點(diǎn)的子節(jié)點(diǎn) 添加到密鑰值節(jié)點(diǎn)中。
[0082] 具體地,編碼裝置生成第一明文節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,將第一明文節(jié)點(diǎn)的 起始標(biāo)記和結(jié)束標(biāo)記添加到密鑰值節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間。
[0083] 例如,編碼裝置在密鑰值節(jié)點(diǎn)的起始標(biāo)記〈Secret〉和結(jié)束標(biāo)記〈/Secret〉之間添 加第一明文節(jié)點(diǎn)的起始標(biāo)記〈PlainValue〉和結(jié)束標(biāo)記〈/PlainValue〉。
[0084] 步驟115,編碼裝置從當(dāng)前列表中讀取密鑰明文,將密鑰明文作為文本節(jié)點(diǎn)添加到 第一明文節(jié)點(diǎn)中。
[0085] 具體地,編碼裝置從當(dāng)前列表中讀取密鑰明文,并在第一明文節(jié)點(diǎn)的起始標(biāo)記和 結(jié)束標(biāo)記之間添加密鑰明文。
[0086] 例如,編碼裝置從當(dāng)前列表中讀取密鑰明文"ΜΤΙζΝΑ = = ",并在第一明文節(jié)點(diǎn)的 起始標(biāo)記〈PlainValue〉和結(jié)束標(biāo)記〈/PlainValue〉之間添加密鑰明文"ΜΤΙζΝΑ == "。 [0087] 通過(guò)執(zhí)行上述操作,編碼裝置生成的密鑰文件為:
[0088] <KeyContainer> <KeyPackage> <DeviceInfo> <Manufacturer>Manufacturer</Manufacturer> <Seria!No>987654321 </SerialNo> </DeviceInfo> <Kev Id=" 12345678" Algorithm="urn:ietf:params:xml:ns:keypiOv:pskc:hotp"> <Data> <Secret> <PlainValue>MTIzNA== </PlainValue>
[0089] </Secret> </Data> </Key> </KeyPackage> 〈/Key Container〉
[0090] 步驟116,編碼裝置判斷密鑰信息中是否存在未被處理過(guò)的密鑰屬性列表,如果 是,則返回步驟103 ;否則,結(jié)束流程。
[0091] 步驟117,編碼裝置生成加密密鑰節(jié)點(diǎn),將加密密鑰節(jié)點(diǎn)作為密鑰容器節(jié)點(diǎn)的子節(jié) 點(diǎn)添加到密鑰容器節(jié)點(diǎn)中。
[0092] 具體地,編碼裝置生成加密密鑰節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,將加密密鑰節(jié)點(diǎn)的 起始標(biāo)記和結(jié)束標(biāo)記添加到密鑰容器節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間。
[0093] 例如,編碼裝置將加密密鑰節(jié)點(diǎn)的起始標(biāo)記〈EncryptionKey〉和結(jié)束標(biāo)記〈/ EncryptionKey〉添加到密鑰容器節(jié)點(diǎn)的起始標(biāo)記〈KeyContainer〉和結(jié)束標(biāo)記〈/ KeyContainer> 之間。
[0094] 步驟118,編碼裝置生成密鑰名節(jié)點(diǎn),將密鑰名節(jié)點(diǎn)作為加密密鑰節(jié)點(diǎn)的子節(jié)點(diǎn)添 加到加密密鑰節(jié)點(diǎn)中。
[0095] 具體地,編碼裝置生成密鑰名節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,將密鑰名節(jié)點(diǎn)的起始 標(biāo)記和結(jié)束標(biāo)記添加到加密密鑰節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間。
[0096] 例如,編碼裝置將密鑰名節(jié)點(diǎn)的起始標(biāo)記<ds: KeyName〉和結(jié)束標(biāo)記〈/ ds:KeyName>添加到加密密鑰節(jié)點(diǎn)的起始標(biāo)記〈EncryptionKey〉和結(jié)束標(biāo)記〈/ EncryptionKey> 之間。
[0097] 步驟119,編碼裝置從密鑰信息中讀取加密密鑰名,將加密密鑰名作為文本節(jié)點(diǎn)添 加到密鑰名節(jié)點(diǎn)中。
[0098] 具體地,編碼裝置從密鑰信息中讀取加密密鑰名,將加密密鑰名添加到密鑰名節(jié) 點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間。
[0099] 例如,編碼裝置從密鑰信息中讀取加密密鑰名"Pre-shared-key",將加密密鑰名 "Pre-shared-key "添加到密鑰名節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間。
[0100] 步驟120,編碼裝置生成MAC方法節(jié)點(diǎn),將MAC方法節(jié)點(diǎn)作為密鑰容器節(jié)點(diǎn)的子節(jié) 點(diǎn)添加到密鑰容器節(jié)點(diǎn)中。
[0101] 具體地,編碼裝置生成MAC方法節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,將MAC方法節(jié)點(diǎn)的起 始標(biāo)記和結(jié)束標(biāo)記添加到密鑰容器節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間。
[0102] 例如,編碼裝置將MAC方法節(jié)點(diǎn)的起始標(biāo)記〈MACMethod〉和結(jié)束標(biāo)記〈/ MACMethod〉添加到密鑰容器節(jié)點(diǎn)的起始標(biāo)記〈KeyContainer〉和結(jié)束標(biāo)記〈/ KeyContainer> 之間。
[0103] 步驟121,編碼裝置從密鑰信息中讀取MAC算法信息,根據(jù)MAC算法信息生成MAC 算法節(jié)點(diǎn),將MAC算法節(jié)點(diǎn)作為屬性節(jié)點(diǎn)添加到MAC方法節(jié)點(diǎn)中。
[0104] 具體地,編碼裝置從密鑰信息中讀取MAC算法信息,將MAC算法信息作為屬性值生 成MAC算法節(jié)點(diǎn),將MAC算法節(jié)點(diǎn)添加到MAC方法節(jié)點(diǎn)的起始標(biāo)記中。
[0105] 例如,編碼裝置從密鑰信息中讀取MAC算法信息,S卩,〃hmac-shal",將該MAC算 法信息作為屬性值,生成MAC算法節(jié)點(diǎn),即,Algorithm = hmac-shal,將上述MAC算法節(jié) 點(diǎn)添加到MAC方法節(jié)點(diǎn)的起始標(biāo)記中,將MAC方法節(jié)點(diǎn)的起始標(biāo)記更新為:〈MACMethod Algorithm = 〃hmac_shal〃>〇
[0106] 步驟122,編碼裝置生成MAC密鑰節(jié)點(diǎn),將MAC密鑰節(jié)點(diǎn)作為MAC方法節(jié)點(diǎn)的子節(jié) 點(diǎn)添加到MAC方法節(jié)點(diǎn)中。
[0107] 具體地,編碼裝置生成MAC密鑰節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,將MAC密鑰節(jié)點(diǎn)的起 始標(biāo)記和結(jié)束標(biāo)記添加到MAC方法節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間。
[0108] 例如,編碼裝置將MAC密鑰節(jié)點(diǎn)的起始標(biāo)記〈MACKey〉和結(jié)束標(biāo)記〈/MACKey〉添加 到MAC方法節(jié)點(diǎn)的起始標(biāo)記〈MACMethod〉和結(jié)束標(biāo)記〈/MACMethod〉之間。
[0109] 步驟123,編碼裝置生成第二加密方法節(jié)點(diǎn),將第二加密方法節(jié)點(diǎn)作為子節(jié)點(diǎn)添加 到MAC密鑰節(jié)點(diǎn)中。
[0110] 具體地,編碼裝置生成第二加密方法節(jié)點(diǎn),將第二加密方法節(jié)點(diǎn)添加到MAC密鑰 節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間。
[0111] 例如,編碼裝置將第二加密方法節(jié)點(diǎn)<xenc:EncryptionMethod/>添加到MAC密鑰 節(jié)點(diǎn)的起始標(biāo)記〈MACKey〉和結(jié)束標(biāo)記〈/MACKey〉之間。
[0112] 步驟124,編碼裝置從密鑰信息中讀取加密密鑰算法信息,根據(jù)加密密鑰算法信息 生成第二加密密鑰算法節(jié)點(diǎn),將第二加密密鑰算法節(jié)點(diǎn)作為屬性節(jié)點(diǎn)添加到第二加密方法 節(jié)點(diǎn)中。
[0113] 具體地,編碼裝置從密鑰信息中讀取加密密鑰算法信息,將加密密鑰算法信息作 為屬性值,生成第二加密密鑰算法節(jié)點(diǎn),將第二加密密鑰算法節(jié)點(diǎn)添加到第二加密方法節(jié) 點(diǎn)中。
[0114] 例如,編碼裝置從密鑰信息中讀取加密密鑰算法信息,即,〃aesl28-Cb C",將 上述加密密鑰算法信息作為屬性值,生成第二加密密鑰算法節(jié)點(diǎn),即,Algorithm = aesl28_cbc,將上述第二加密密鑰算法節(jié)點(diǎn)添加到第二加密方法節(jié)點(diǎn)中,將第二加密方法 節(jié)點(diǎn)更新為:
[0115] <xenc:EncryptionMethod
[0116] Algorithm = "aesl28_cbc"/>。
[0117] 步驟125,編碼裝置生成第二密碼數(shù)據(jù)節(jié)點(diǎn),將第二密碼數(shù)據(jù)節(jié)點(diǎn)作為MAC密鑰節(jié) 點(diǎn)的子節(jié)點(diǎn)添加到MAC密鑰節(jié)點(diǎn)中。
[0118] 具體地,編碼裝置生成第二密碼數(shù)據(jù)節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,將第二密碼數(shù) 據(jù)節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記添加到MAC密鑰節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間。
[0119] 例如,編碼裝置將第二密碼數(shù)據(jù)節(jié)點(diǎn)的起始標(biāo)記<xenc:CipherData>和結(jié)束標(biāo)記 </xenc:CipherData>添加到MAC密鑰節(jié)點(diǎn)的起始標(biāo)記〈MACKey〉和結(jié)束標(biāo)記〈/MACKey〉之 間。
[0120] 步驟126,編碼裝置生成第二密碼值節(jié)點(diǎn),將第二密碼值節(jié)點(diǎn)作為第二密碼數(shù)據(jù)節(jié) 點(diǎn)的子節(jié)點(diǎn)添加到第二密碼數(shù)據(jù)節(jié)點(diǎn)中。
[0121] 具體地,編碼裝置生成第二密碼值節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,將第二密碼值節(jié) 點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記添加到第二密碼數(shù)據(jù)節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間。
[0122] 例如,編碼裝置將第二密碼值節(jié)點(diǎn)的起始標(biāo)記<xenc:CipherValue>和結(jié)束標(biāo)記 </xenc:CipherValue>添加到第二密碼數(shù)據(jù)節(jié)點(diǎn)的起始標(biāo)記<xenc:CipherData>和結(jié)束標(biāo) 記〈/xenc: CipherData> 之間。
[0123] 步驟127,編碼裝置從密鑰信息中讀取MAC密鑰,根據(jù)與密鑰信息中的加密密鑰名 對(duì)應(yīng)的密鑰,使用與密鑰信息中的加密密鑰算法信息對(duì)應(yīng)的策略,對(duì)MAC密鑰進(jìn)行加密,將 加密得到的密文作為文本節(jié)點(diǎn)添加到第二密碼值節(jié)點(diǎn)中。
[0124] 具體地,編碼裝置從密鑰信息中讀取MAC密鑰,根據(jù)與密鑰信息中的加密密鑰名 對(duì)應(yīng)的密鑰,使用與密鑰信息中的加密密鑰算法信息對(duì)應(yīng)的策略,對(duì)MAC密鑰進(jìn)行加密,將 加密得到的密文添加到第二密碼值節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間。
[0125] 例如,編碼裝置從密鑰信息中讀取MAC密鑰,根據(jù)與密鑰信息中的加密密鑰名 "Pre-shared-key"對(duì)應(yīng)的密鑰,使用與密鑰信息中的加密密鑰算法信息"hmac-shal"對(duì) 應(yīng)的策略,對(duì)MAC密鑰進(jìn)行加密,得到的密文為:ESIzRFVmd4iZABEiM0RVZgKn6WjLaTCl sbeBMSvIhRe jN9vJa2B01 SaMrR715w SX,將上述密文添加到第二密碼值節(jié)點(diǎn)的起始標(biāo)記 <xenc:CipherValue> 和結(jié)束標(biāo)記 </xenc:CipherValue> 之間。
[0126] 步驟128,編碼裝置從密鑰信息中選取一個(gè)未被處理過(guò)的密鑰屬性列表作為當(dāng)前 列表。
[0127] 步驟129,編碼裝置生成密鑰包節(jié)點(diǎn),將密鑰包節(jié)點(diǎn)作為密鑰容器節(jié)點(diǎn)的子節(jié)點(diǎn)添 加到密鑰容器節(jié)點(diǎn)中。
[0128] 具體地,編碼裝置生成密鑰包節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,將密鑰包節(jié)點(diǎn)的起始 標(biāo)記和結(jié)束標(biāo)記添加到密鑰容器節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間。
[0129] 例如,編碼裝置將密鑰包節(jié)點(diǎn)的起始標(biāo)記〈KeyPackage〉和結(jié)束標(biāo)記〈/ KeyPackage〉添加到密鑰容器節(jié)點(diǎn)的起始標(biāo)記〈KeyContainer〉和結(jié)束標(biāo)記〈/ KeyContainer> 之間。
[0130] 步驟130,編碼裝置生成設(shè)備信息節(jié)點(diǎn),將設(shè)備信息節(jié)點(diǎn)作為密鑰包節(jié)點(diǎn)的子節(jié)點(diǎn) 添加到密鑰包節(jié)點(diǎn)中。
[0131] 具體地,編碼裝置生成設(shè)備信息節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,將設(shè)備信息節(jié)點(diǎn)的 起始標(biāo)記和結(jié)束標(biāo)記添加到密鑰包節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間。
[0132] 例如,編碼裝置將設(shè)備信息節(jié)點(diǎn)的起始標(biāo)記〈Deviceinfo〉和結(jié)束標(biāo)記〈/ Deviceinfo〉添加到密鑰包節(jié)點(diǎn)的起始標(biāo)記〈KeyPackage〉和結(jié)束標(biāo)記〈/KeyPackage〉之 間。
[0133] 步驟131,編碼裝置生成廠商節(jié)點(diǎn),將廠商節(jié)點(diǎn)作為設(shè)備信息節(jié)點(diǎn)的子節(jié)點(diǎn)添加到 設(shè)備信息節(jié)點(diǎn)中。
[0134] 具體地,編碼裝置生成廠商節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,將廠商節(jié)點(diǎn)的起始標(biāo)記 和結(jié)束標(biāo)記添加到設(shè)備信息節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間。
[0135] 例如,編碼裝置將廠商節(jié)點(diǎn)的起始標(biāo)記〈Manufacturer〉和結(jié)束標(biāo)記〈/ Manufacturer〉添加到設(shè)備信息節(jié)點(diǎn)的起始標(biāo)記〈Deviceinfo〉和結(jié)束標(biāo)記〈/Deviceinfo〉 之間。
[0136] 步驟132,編碼裝置從當(dāng)前列表中讀取廠商信息,將廠商信息作為文本節(jié)點(diǎn)添加到 廠商節(jié)點(diǎn)中。
[0137] 具體地,編碼裝置從當(dāng)前列表中讀取廠商信息,并將廠商信息添加到廠商節(jié)點(diǎn)的 起始標(biāo)記和結(jié)束標(biāo)記之間。
[0138] 例如,編碼裝置從當(dāng)前列表中讀取廠商信息"Manufacturer",并將廠商信息 "Manufacturer"添加到廠商節(jié)點(diǎn)的起始標(biāo)記〈Deviceinfo〉和結(jié)束標(biāo)記〈/Deviceinfo〉之 間。
[0139] 步驟133,編碼裝置生成序列號(hào)節(jié)點(diǎn),將序列號(hào)節(jié)點(diǎn)作為設(shè)備信息節(jié)點(diǎn)的子節(jié)點(diǎn)添 加到設(shè)備信息節(jié)點(diǎn)中。
[0140] 具體地,編碼裝置生成序列號(hào)節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,將序列號(hào)節(jié)點(diǎn)的起始 標(biāo)記和結(jié)束標(biāo)記添加到設(shè)備信息節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間。
[0141] 例如,編碼裝置將序列號(hào)節(jié)點(diǎn)的起始標(biāo)記〈SerialNo〉和結(jié)束標(biāo)記〈/SerialNo〉添 加到設(shè)備信息節(jié)點(diǎn)的起始標(biāo)記〈Deviceinfo〉和結(jié)束標(biāo)記〈/Deviceinfo〉之間。
[0142] 步驟134,編碼裝置從當(dāng)前列表中讀取設(shè)備序列號(hào),將設(shè)備序列號(hào)作為文本節(jié)點(diǎn)添 加到序列號(hào)節(jié)點(diǎn)中。
[0143] 具體地,編碼裝置從當(dāng)前列表中讀取設(shè)備序列號(hào),并在序列號(hào)節(jié)點(diǎn)的起始標(biāo)記和 結(jié)束標(biāo)記之間添加設(shè)備序列號(hào)。
[0144] 例如,編碼裝置從當(dāng)前列表中讀取設(shè)備序列號(hào)"987654321",并在序列號(hào)節(jié)點(diǎn)的起 始標(biāo)記和結(jié)束標(biāo)記之間添加設(shè)備序列號(hào)"987654321"。
[0145] 步驟135,編碼裝置生成密鑰節(jié)點(diǎn),將密鑰節(jié)點(diǎn)作為密鑰包節(jié)點(diǎn)的子節(jié)點(diǎn)添加到密 鑰包節(jié)點(diǎn)中。
[0146] 具體地,編碼裝置生成密鑰節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,將密鑰節(jié)點(diǎn)的起始標(biāo)記 和結(jié)束標(biāo)記添加到密鑰包節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間。
[0147] 例如,編碼裝置將密鑰節(jié)點(diǎn)的起始標(biāo)記〈Key〉和結(jié)束標(biāo)記〈/Key〉添加到密鑰包節(jié) 點(diǎn)的起始標(biāo)記〈KeyPackage〉和結(jié)束標(biāo)記〈/KeyPackage〉之間。
[0148] 步驟136,編碼裝置從當(dāng)前列表中讀取密鑰標(biāo)識(shí)和密鑰算法信息,根據(jù)密鑰標(biāo)識(shí)生 成密鑰標(biāo)識(shí)節(jié)點(diǎn),根據(jù)密鑰算法信息生成密鑰算法節(jié)點(diǎn),將密鑰標(biāo)識(shí)節(jié)點(diǎn)和密鑰算法節(jié)點(diǎn) 作為屬性節(jié)點(diǎn)添加到密鑰節(jié)點(diǎn)中。
[0149] 具體地,編碼裝置從當(dāng)前列表中讀取密鑰標(biāo)識(shí)和密鑰算法信息,將密鑰標(biāo)識(shí)作為 屬性值生成密鑰標(biāo)識(shí)節(jié)點(diǎn),將密鑰算法信息作為屬性值,生成密鑰算法節(jié)點(diǎn),并在密鑰節(jié)點(diǎn) 的起始標(biāo)記中添加密鑰標(biāo)識(shí)節(jié)點(diǎn)和密鑰算法節(jié)點(diǎn)。其中,密鑰標(biāo)識(shí)節(jié)點(diǎn)和密鑰算法節(jié)點(diǎn)均 為屬性節(jié)點(diǎn),均包括屬性名和屬性值。
[0150] 例如,編碼裝置從當(dāng)前列表中讀取密鑰標(biāo)識(shí)"12345678"和密鑰算法信息"urn: ietf:params:xml:ns:keyprov:pskc:hotp",根據(jù)密鑰標(biāo)識(shí)生成密鑰標(biāo)識(shí)節(jié)點(diǎn),即,Id = 〃12345678〃 ;根據(jù)密鑰算法信息生成密鑰算法節(jié)點(diǎn),即,Algorithm = 〃urn: ietf :params:x ml :ns:keyprov:pskc:hotp〃,并在密鑰節(jié)點(diǎn)的起始標(biāo)記〈Key〉中添加上述密鑰標(biāo)識(shí)節(jié)點(diǎn)和 密鑰算法節(jié)點(diǎn)。
[0151] 其中,密鑰標(biāo)識(shí)節(jié)點(diǎn)包括屬性名"Id"和屬性值"12345678",密鑰算法節(jié)點(diǎn)包括屬 性名 "Algorithm" 和屬性值"urn: ietf :params:xml:ns:keyprov:pskc:hotp",添加上述信 息后,密鑰節(jié)點(diǎn)的起始標(biāo)記被更新為:〈Key Id = 〃12345678〃Algorithm = 〃urn:ietf:par ams: xml: ns:keyprov:pskc:hotp〃> 〇
[0152] 步驟137,編碼裝置生成數(shù)據(jù)節(jié)點(diǎn),將數(shù)據(jù)節(jié)點(diǎn)作為密鑰節(jié)點(diǎn)的子節(jié)點(diǎn)添加到密鑰 節(jié)點(diǎn)中。
[0153] 具體地,編碼裝置生成數(shù)據(jù)節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,將數(shù)據(jù)節(jié)點(diǎn)的起始標(biāo)記 和結(jié)束標(biāo)記添加到密鑰節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間。
[0154] 例如,編碼裝置將數(shù)據(jù)節(jié)點(diǎn)的起始標(biāo)記〈Data〉和結(jié)束標(biāo)記〈/Data〉添加到密鑰節(jié) 點(diǎn)的起始標(biāo)記〈Key〉和結(jié)束標(biāo)記〈/Key〉之間。
[0155] 步驟138,編碼裝置生成密鑰值節(jié)點(diǎn),將密鑰值節(jié)點(diǎn)作為數(shù)據(jù)節(jié)點(diǎn)的子節(jié)點(diǎn)添加到 數(shù)據(jù)節(jié)點(diǎn)中。
[0156] 具體地,編碼裝置生成密鑰值節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,在數(shù)據(jù)節(jié)點(diǎn)的起始標(biāo) 記和結(jié)束標(biāo)記之間添加密鑰值節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記。
[0157] 例如,編碼裝置在數(shù)據(jù)節(jié)點(diǎn)的起始標(biāo)記〈Data〉和結(jié)束標(biāo)記〈/Data〉之間添加密鑰 值節(jié)點(diǎn)的起始標(biāo)記〈Secret〉和結(jié)束標(biāo)記〈/Secret〉。
[0158] 步驟139,編碼裝置生成密文節(jié)點(diǎn),將密文節(jié)點(diǎn)作為密鑰值節(jié)點(diǎn)的子節(jié)點(diǎn)添加到密 鑰值節(jié)點(diǎn)中。
[0159] 具體地,編碼裝置生成密文節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,將密文節(jié)點(diǎn)的起始標(biāo)記 和結(jié)束標(biāo)記添加到密鑰值節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間。
[0160] 例如,編碼裝置將密文節(jié)點(diǎn)的起始標(biāo)記〈EncryptedValue〉和結(jié)束標(biāo)記〈/ EncryptedValue〉添加到密鑰值節(jié)點(diǎn)的起始標(biāo)記〈Secret〉和結(jié)束標(biāo)記〈/Secret〉之間。
[0161] 步驟140,編碼裝置生成第一加密方法節(jié)點(diǎn),將第一加密方法節(jié)點(diǎn)作為子節(jié)點(diǎn)添加 到密文節(jié)點(diǎn)中。
[0162] 具體地,編碼裝置生成第一加密方法節(jié)點(diǎn),將第一加密方法節(jié)點(diǎn)添加到密文節(jié)點(diǎn) 的起始標(biāo)記和結(jié)束標(biāo)記之間。
[0163] 例如,編碼裝置將第一加密方法節(jié)點(diǎn)<xenc:EncryptionMethod/>添加到密文節(jié) 點(diǎn)的起始標(biāo)記〈EncryptedValue〉和結(jié)束標(biāo)記〈/EncryptedValue〉之間。
[0164] 步驟141,編碼裝置從密鑰信息中讀取加密密鑰算法信息,根據(jù)加密密鑰算法信息 生成第一加密密鑰算法節(jié)點(diǎn),將第一加密密鑰算法節(jié)點(diǎn)作為屬性節(jié)點(diǎn)添加到第一加密方法 節(jié)點(diǎn)中。
[0165] 具體地,編碼裝置從密鑰信息中讀取加密密鑰算法信息,將加密密鑰算法信息作 為屬性值,生成第一加密密鑰算法節(jié)點(diǎn),將第一加密密鑰算法節(jié)點(diǎn)添加到第一加密方法節(jié) 點(diǎn)中。
[0166] 例如,編碼裝置從密鑰信息中讀取加密密鑰算法信息,S卩,〃aesl28-Cb C〃,將上述 加密密鑰算法信息作為第一加密密鑰算法節(jié)點(diǎn)的屬性值,生成第一加密密鑰算法節(jié)點(diǎn),即, Algorithm = 〃aesl28-cbc 〃,將上述第一加密密鑰算法節(jié)點(diǎn)添加到第一加密方法節(jié)點(diǎn)中, 將第一加密方法節(jié)點(diǎn)更新為:
[0167] <xenc:EncryptionMethod
[0168] Algorithm = "aesl28_cbc"/>。
[0169] 步驟142,編碼裝置生成第一密碼數(shù)據(jù)節(jié)點(diǎn),將第一密碼數(shù)據(jù)節(jié)點(diǎn)作為密文節(jié)點(diǎn)的 子節(jié)點(diǎn)添加到密文節(jié)點(diǎn)中。
[0170] 具體地,編碼裝置生成第一密碼數(shù)據(jù)節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,將第一密碼數(shù) 據(jù)節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記添加到密文節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間。
[0171] 例如,編碼裝置將第一密碼數(shù)據(jù)節(jié)點(diǎn)的起始標(biāo)記<xenc:CipherData>和結(jié)束標(biāo) 記</xenc:CipherData>添加到密文節(jié)點(diǎn)的起始標(biāo)記〈EncryptedValue〉和結(jié)束標(biāo)記〈/ EncryptedValue〉之間。
[0172] 步驟143,編碼裝置生成第一密碼值節(jié)點(diǎn),將第一密碼值節(jié)點(diǎn)作為第一密碼數(shù)據(jù)節(jié) 點(diǎn)的子節(jié)點(diǎn)添加到第一密碼數(shù)據(jù)節(jié)點(diǎn)中。
[0173] 具體地,編碼裝置生成第一密碼值節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,將第一密碼值節(jié) 點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記添加到第一密碼數(shù)據(jù)節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間。
[0174] 例如,編碼裝置將第一密碼值節(jié)點(diǎn)的起始標(biāo)記<xenc:CipherValue>和結(jié)束標(biāo)記 </xenc:CipherValue>添加到第一密碼數(shù)據(jù)節(jié)點(diǎn)的起始標(biāo)記<xenc:CipherData>和結(jié)束標(biāo) 記〈/xenc: CipherData> 之間。
[0175] 步驟144,編碼裝置從當(dāng)前列表中讀取密鑰明文,根據(jù)與密鑰信息中的加密密鑰名 對(duì)應(yīng)的密鑰,使用與密鑰信息中的加密密鑰算法信息對(duì)應(yīng)的策略,對(duì)密鑰明文進(jìn)行加密,將 加密得到的密鑰密文作為文本節(jié)點(diǎn)添加到第一密碼值節(jié)點(diǎn)中。
[0176] 具體地,編碼裝置從當(dāng)前列表中讀取密鑰明文,根據(jù)與密鑰信息中的加密密鑰名 對(duì)應(yīng)的密鑰,使用與密鑰信息中的加密密鑰算法信息對(duì)應(yīng)的策略,對(duì)密鑰明文進(jìn)行加密,將 加密得到的密鑰密文添加到第一密碼值節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間。
[0177] 例如,編碼裝置從當(dāng)前列表中讀取密鑰明文,即"MTIzNA= = ",根據(jù)與密鑰信息 中的加密密鑰名"Pre-shared-key "對(duì)應(yīng)的密鑰,使用與密鑰信息中的加密密鑰算法信息 "hmac-shal"對(duì)應(yīng)的策略,對(duì)密鑰明文"ΜΤΙζΝΑ == "進(jìn)行加密,得到的密鑰密文為:AAECA wQFBgcICQoLDA00D+cIHItlB3WralDUpxVv0x21eflVmNPCM18jwZqI UqGv,將上述密鑰密文添 加到第一密碼值節(jié)點(diǎn)的起始標(biāo)記<xenc:CipherValue>和結(jié)束標(biāo)記</xenc:CipherValue> 之間。
[0178] 步驟145,編碼裝置生成MAC值節(jié)點(diǎn),將MAC值節(jié)點(diǎn)作為密鑰值節(jié)點(diǎn)的子節(jié)點(diǎn)添加 到密鑰值節(jié)點(diǎn)中。
[0179] 具體地,編碼裝置生成MAC值節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,將MAC值節(jié)點(diǎn)的起始標(biāo) 記和結(jié)束標(biāo)記添加到密鑰值節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間。
[0180] 例如,編碼裝置將MAC值節(jié)點(diǎn)的起始標(biāo)記〈ValueMAC〉和結(jié)束標(biāo)記〈/ValueMAC〉添 加到密鑰值節(jié)點(diǎn)的起始標(biāo)記〈Secret〉和結(jié)束標(biāo)記〈/Secret〉之間。
[0181] 步驟146,編碼裝置根據(jù)密鑰信息中的MAC密鑰,使用與密鑰信息中的MAC算法信 息對(duì)應(yīng)的策略,對(duì)密鑰明文進(jìn)行摘要處理,將得到的摘要值作為文本節(jié)點(diǎn)添加到MAC值節(jié) 點(diǎn)中。
[0182] 具體地,編碼裝置根據(jù)密鑰信息中的MAC密鑰,使用與密鑰信息中的MAC算法信息 對(duì)應(yīng)的策略,對(duì)密鑰明文進(jìn)行摘要處理,將得到的摘要值作為文本節(jié)點(diǎn)添加到MAC值節(jié)點(diǎn) 的起始標(biāo)記和結(jié)束標(biāo)記之間。
[0183] 例如,編碼裝置根據(jù)密鑰信息中的MAC密鑰,使用與密鑰信息中的MAC算法 信息"hmac-shal"對(duì)應(yīng)的策略,對(duì)密鑰明文"ΜΤΙζΝΑ == "進(jìn)行摘要處理,得到摘要值 "Su+NvtQfmvf JzF6bmQi JqoLRExc = ",并將該摘要值作為文本節(jié)點(diǎn)添加到MAC值節(jié)點(diǎn)的起 始標(biāo)記〈ValueMAC〉和結(jié)束標(biāo)記〈/ValueMAC〉之間。
[0184] 通過(guò)執(zhí)行上述操作,編碼裝置生成的密鑰文件為:
[0185] <KcvContainer> <EncryptionKey> <ds: KeyName>Pre-shared-key</ds: KeyName> <7EncryplionKey> <M ACMethod AIgorithm="hmac-sha 1 "> <MACKey> <xenc:EncryptionMethod Algorithm:" aesl28-cbc"/> <xenc: C ipherDam> <xenc:CipherValue> ESIzRFVmd4iZABEiM0RVZgKn6WiLaTClsbeBMSvmRejN9vJa2BOlSaMrR7I5w S X</xen c: C iph erVa I u e> </xcnc:CiphcrData> </MACKev> </MACMethod> <KeyPackage> <DeviceInfo> <M anufacturer>M anufacturer</Manufacturer> <SerialNo>987654321 </SerialNo> </DeviceInfo> <Key M=" 12345678,, Algorithm="urn:ietf:params:xml:ns:keypiOv:pskc:hotp">
[0186] <Data> 〈Secret〉 〈Encrypted Val ue> <xenc: Encryption M ethod Algorithm="aes 128-cbc"/> <xenc:CipherDala> <xenc:Cipher Value〉 AAECAwQFBgcICQoLDAOOD+cIHItlB3WralDUpxVvOx21eflVmNPCM18jwZqI UqGv</xenc:CipherValue> </xenc:CipherData> </Encrypted Vai ue> <ValueMAC>Su+NvtQfmvfJzF6bmQiJqoLRExc= </'ValueMAC> </Secret> </Data> </Key> </'KeyPackage> </KeyContainer>
[0187] 步驟147,編碼裝置判斷密鑰信息中是否存在未被處理過(guò)的密鑰屬性列表,如果 是,則返回步驟128 ;否則,結(jié)束流程。
[0188] 本發(fā)明達(dá)到的有益效果:編碼裝置將密鑰信息編碼為統(tǒng)一格式的密鑰文件,使得 認(rèn)證系統(tǒng)能夠?qū)Χ鄠€(gè)設(shè)備廠商配置的密鑰信息執(zhí)行統(tǒng)一的處理流程,減輕了認(rèn)證系統(tǒng)的工 作負(fù)擔(dān)。
[0189] 進(jìn)一步地,本發(fā)明的另一種實(shí)施方式中,編碼裝置生成密鑰容器節(jié)點(diǎn),將密鑰容器 節(jié)點(diǎn)作為根節(jié)點(diǎn)添加到密鑰文件中,并判斷出密鑰傳輸方式為明文傳輸之后,并發(fā)多個(gè)線 程,將密鑰信息中的所有密鑰屬性列表分配給上述多個(gè)線程;每個(gè)線程獲取至少一個(gè)密鑰 屬性列表,并將每個(gè)密鑰屬性列表作為當(dāng)前列表,執(zhí)行步驟104至步驟115,生成至少一個(gè) 密鑰包節(jié)點(diǎn);編碼裝置將所有線程生成的密鑰包節(jié)點(diǎn)添加到密鑰容器節(jié)點(diǎn)中,實(shí)現(xiàn)對(duì)密鑰 息的編碼。
[0190] 編碼裝置生成密鑰容器節(jié)點(diǎn),將密鑰容器節(jié)點(diǎn)作為根節(jié)點(diǎn)添加到密鑰文件中,并 判斷出密鑰傳輸方式不是明文傳輸之后,并發(fā)多個(gè)線程,將密鑰信息中的所有密鑰屬性列 表分配給上述多個(gè)線程;每個(gè)線程獲取至少一個(gè)密鑰屬性列表,并將每個(gè)密鑰屬性列表作 為當(dāng)前列表,執(zhí)行步驟117至步驟146,生成至少一個(gè)密鑰包節(jié)點(diǎn);編碼裝置將所有線程生 成的密鑰包節(jié)點(diǎn)添加到密鑰容器節(jié)點(diǎn)中,實(shí)現(xiàn)對(duì)密鑰信息的編碼。上述工作機(jī)制能夠加快 編碼裝置的編碼速度。
[0191] 需要說(shuō)明的是,本發(fā)明的另一種實(shí)施方式中,密鑰屬性列表中還可包括發(fā)行方信 息,相應(yīng)地,編碼裝置生成發(fā)行方節(jié)點(diǎn),將發(fā)行方節(jié)點(diǎn)作為密鑰節(jié)點(diǎn)的子節(jié)點(diǎn)添加到密鑰節(jié) 點(diǎn)中,從密鑰屬性列表中讀取發(fā)行方信息,將發(fā)行方信息作為文本節(jié)點(diǎn)添加到發(fā)行方節(jié)點(diǎn) 中。
[0192] 具體地,編碼裝置生成發(fā)行方節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,將發(fā)行方節(jié)點(diǎn)的起始 標(biāo)記和結(jié)束標(biāo)記添加到密鑰節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間,從密鑰屬性列表中讀取發(fā)行 方信息,并在發(fā)行方節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間添加發(fā)行方信息。
[0193] 例如,編碼裝置將發(fā)行方節(jié)點(diǎn)的起始標(biāo)記〈Issuer〉和結(jié)束標(biāo)記〈/Issuer〉添加到 密鑰節(jié)點(diǎn)的起始標(biāo)記〈Key〉和結(jié)束標(biāo)記〈/Key〉之間,從密鑰屬性列表中讀取發(fā)行方信息 " Issuer-A",并在發(fā)行方節(jié)點(diǎn)的起始標(biāo)記〈Issuer〉和結(jié)束標(biāo)記〈/Issuer〉之間添加發(fā)行方 ? 目息 " Issuer_A"。
[0194] 本發(fā)明的另一種實(shí)施方式中,密鑰屬性列表中還可包括設(shè)備用戶標(biāo)識(shí),相應(yīng)地,編 碼裝置生成設(shè)備用戶標(biāo)識(shí)節(jié)點(diǎn),將設(shè)備用戶標(biāo)識(shí)節(jié)點(diǎn)作為設(shè)備信息節(jié)點(diǎn)的子節(jié)點(diǎn)添加到設(shè) 備信息節(jié)點(diǎn)中,從密鑰屬性列表中讀取設(shè)備用戶標(biāo)識(shí),將設(shè)備用戶標(biāo)識(shí)作為文本節(jié)點(diǎn)添加 到設(shè)備用戶標(biāo)識(shí)節(jié)點(diǎn)中。
[0195] 具體地,編碼裝置生成設(shè)備用戶標(biāo)識(shí)節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,將設(shè)備用戶標(biāo) 識(shí)節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記添加到設(shè)備信息節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間,并在設(shè)備 用戶標(biāo)識(shí)節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間添加設(shè)備用戶標(biāo)識(shí)。
[0196] 例如,編碼裝置將設(shè)備用戶標(biāo)識(shí)節(jié)點(diǎn)的起始標(biāo)記〈Userid〉和結(jié)束標(biāo)記〈/Userid〉 添加到設(shè)備信息節(jié)點(diǎn)的起始標(biāo)記〈Deviceinfo〉和結(jié)束標(biāo)記〈/Deviceinfo〉之間,并在設(shè)備 用戶標(biāo)識(shí)節(jié)點(diǎn)的起始標(biāo)記〈Userid〉和結(jié)束標(biāo)記〈/Userid〉之間添加設(shè)備用戶標(biāo)識(shí)"DC = example-bank, DC = net,'。
[0197] 本發(fā)明的另一種實(shí)施方式中,密鑰屬性列表中還可包括密碼模塊標(biāo)識(shí),相應(yīng)地,編 碼裝置生成密碼模塊節(jié)點(diǎn),將密碼模塊節(jié)點(diǎn)作為密鑰包節(jié)點(diǎn)的子節(jié)點(diǎn)添加到密鑰包節(jié)點(diǎn) 中,生成密碼模塊標(biāo)識(shí)節(jié)點(diǎn),將密碼模塊標(biāo)識(shí)節(jié)點(diǎn)作為密碼模塊節(jié)點(diǎn)的子節(jié)點(diǎn)添加到密碼 模塊節(jié)點(diǎn)中,從密鑰屬性列表中讀取密碼模塊標(biāo)識(shí),將密碼模塊標(biāo)識(shí)作為文本節(jié)點(diǎn)添加到 密碼模塊標(biāo)識(shí)節(jié)點(diǎn)中。
[0198] 具體地,編碼裝置生成密碼模塊節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,將密碼模塊節(jié)點(diǎn)的 起始標(biāo)記和結(jié)束標(biāo)記添加到密鑰包節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間,將密碼模塊標(biāo)識(shí)節(jié)點(diǎn) 的起始標(biāo)記和結(jié)束標(biāo)記添加到密碼模塊節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間,并將密碼模塊標(biāo) 識(shí)添加到密碼模塊標(biāo)識(shí)節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間。
[0199] 例如,編碼裝置將密碼模塊節(jié)點(diǎn)的起始標(biāo)記〈CryptoModulelnfo〉和結(jié)束標(biāo) 記〈/CryptoModulelnfo〉添加到密鑰包節(jié)點(diǎn)的起始標(biāo)記〈KeyPackage〉和結(jié)束標(biāo)記〈/ KeyPackage〉之間,將密碼模塊標(biāo)識(shí)節(jié)點(diǎn)的起始標(biāo)記<Id>和結(jié)束標(biāo)記</Id>添加到密碼模 塊節(jié)點(diǎn)的起始標(biāo)記〈CryptoModulelnfo〉和結(jié)束標(biāo)記〈/CryptoModulelnfo〉之間,并將密碼 模塊標(biāo)識(shí)"CM_ID_001"添加到密碼模塊標(biāo)識(shí)節(jié)點(diǎn)的起始標(biāo)記<Id>和結(jié)束標(biāo)記</Id>之間。
[0200] 本發(fā)明的另一種實(shí)施方式中,密鑰屬性列表中還可包括密鑰用戶標(biāo)識(shí),相應(yīng)地,編 碼裝置生成密鑰用戶標(biāo)識(shí)節(jié)點(diǎn),將密鑰用戶標(biāo)識(shí)節(jié)點(diǎn)作為密鑰節(jié)點(diǎn)的子節(jié)點(diǎn)添加到密鑰節(jié) 點(diǎn)中,從密鑰屬性列表中讀取密鑰用戶標(biāo)識(shí),將密鑰用戶標(biāo)識(shí)作為文本節(jié)點(diǎn)添加到密鑰用 戶標(biāo)識(shí)節(jié)點(diǎn)中。
[0201] 具體地,編碼裝置生成密鑰用戶標(biāo)識(shí)節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,將密鑰用戶標(biāo) 識(shí)節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記添加到密鑰節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間,并在密鑰用戶 標(biāo)識(shí)節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間添加密鑰用戶標(biāo)識(shí)。
[0202] 例如,編碼裝置將密鑰用戶標(biāo)識(shí)節(jié)點(diǎn)的起始標(biāo)記〈Userid〉和結(jié)束標(biāo)記〈/Userid〉 添加到密鑰節(jié)點(diǎn)的起始標(biāo)記〈Key〉和結(jié)束標(biāo)記〈/Key〉之間,并在密鑰用戶標(biāo)識(shí)節(jié)點(diǎn)的起 始標(biāo)記〈Userid〉和結(jié)束標(biāo)記〈/Userid〉之間添加密鑰用戶標(biāo)識(shí)"UID = jsmith, DC = example-bank, DC = net,'。
[0203] 本發(fā)明的另一種實(shí)施方式中,密鑰屬性列表中還可包括密鑰起始日期、密鑰終結(jié) 日期和密鑰用途信息,相應(yīng)地,編碼裝置生成策略節(jié)點(diǎn),將策略節(jié)點(diǎn)作為密鑰節(jié)點(diǎn)的子節(jié)點(diǎn) 添加到密鑰節(jié)點(diǎn)中,生成起始日期節(jié)點(diǎn)、終結(jié)日期節(jié)點(diǎn)和密鑰用途節(jié)點(diǎn),將起始日期節(jié)點(diǎn)、 終結(jié)日期節(jié)點(diǎn)和密鑰用途節(jié)點(diǎn)添加到策略節(jié)點(diǎn)中,從密鑰屬性列表中讀取密鑰起始日期、 密鑰終結(jié)日期和密鑰用途信息,將密鑰起始日期作為文本節(jié)點(diǎn)添加到起始日期節(jié)點(diǎn)中,將 密鑰終結(jié)日期作為文本節(jié)點(diǎn)添加到終結(jié)日期節(jié)點(diǎn)中,將密鑰用途信息作為文本節(jié)點(diǎn)添加到 密鑰用途節(jié)點(diǎn)中。
[0204] 具體地,編碼裝置生成策略節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,將策略節(jié)點(diǎn)的起始標(biāo)記 和結(jié)束標(biāo)記添加到密鑰節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間,將起始日期節(jié)點(diǎn)的起始標(biāo)記和 結(jié)束標(biāo)記添加到策略節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間,從密鑰屬性列表中讀取密鑰起始日 期,將密鑰起始日期添加到起始日期節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間,將終結(jié)日期節(jié)點(diǎn)的 起始標(biāo)記和結(jié)束標(biāo)記添加到策略節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間,從密鑰屬性列表中讀取 密鑰終結(jié)日期,將密鑰終結(jié)日期添加到終結(jié)日期節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間,將密鑰 用途節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記添加到策略節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間,從密鑰屬性 列表中讀取密鑰用途信息,將密鑰用途信息添加到密鑰用途節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之 間。
[0205] 例如,編碼裝置將策略節(jié)點(diǎn)的起始標(biāo)記〈Policy>和結(jié)束標(biāo)記〈/Policy>添 加到密鑰節(jié)點(diǎn)的起始標(biāo)記〈Key〉和結(jié)束標(biāo)記〈/Key〉之間,將起始日期節(jié)點(diǎn)的起始標(biāo) 記〈StartDate〉和結(jié)束標(biāo)記〈/StartDate〉添加到策略節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之 間,從密鑰屬性列表中讀取密鑰起始日期"2014-05-07T02:58:31Z",將上述密鑰起始 日期添加到起始日期節(jié)點(diǎn)的起始標(biāo)記〈StartDate〉和結(jié)束標(biāo)記〈/StartDate〉之間,將 終結(jié)日期節(jié)點(diǎn)的起始標(biāo)記〈ExpiryDate〉和結(jié)束標(biāo)記〈/ExpiryDate〉添加到策略節(jié)點(diǎn) 的起始標(biāo)記〈Policy>和結(jié)束標(biāo)記〈/Policy>之間,從密鑰屬性列表中讀取密鑰終結(jié) 日期" 2019-05-07T02:57:37Z ",將上述密鑰終結(jié)日期添加到終結(jié)日期節(jié)點(diǎn)的起始標(biāo)記 〈ExpiryDate〉和結(jié)束標(biāo)記〈/ExpiryDate〉之間,將密鑰用途節(jié)點(diǎn)的起始標(biāo)記〈KeyUsage〉和 結(jié)束標(biāo)記〈/KeyUsage〉添加到策略節(jié)點(diǎn)的起始標(biāo)記〈Policy〉和結(jié)束標(biāo)記〈/Policy〉之間, 從密鑰屬性列表中讀取密鑰用途信息"0ΤΡ",將密鑰用途信息"0ΤΡ"添加到密鑰用途節(jié)點(diǎn) 的起始標(biāo)記〈KeyUsage〉和結(jié)束標(biāo)記〈/KeyUsage〉之間。
[0206] 另外,當(dāng)密鑰信息與時(shí)間型動(dòng)態(tài)令牌中的種子密鑰相關(guān)時(shí),密鑰屬性列表中還可 包括響應(yīng)碼長(zhǎng)度、響應(yīng)碼編碼信息、時(shí)間間隔值、時(shí)間偏移量的初始值和時(shí)間因子的初始 值,相應(yīng)地,編碼裝置生成算法參數(shù)節(jié)點(diǎn),將算法參數(shù)節(jié)點(diǎn)作為密鑰節(jié)點(diǎn)的子節(jié)點(diǎn)添加到密 鑰節(jié)點(diǎn)中,生成響應(yīng)碼格式節(jié)點(diǎn),將響應(yīng)碼格式節(jié)點(diǎn)作為算法參數(shù)節(jié)點(diǎn)的子節(jié)點(diǎn)添加到算 法參數(shù)節(jié)點(diǎn)中,從密鑰屬性列表中讀取響應(yīng)碼長(zhǎng)度和響應(yīng)碼編碼信息,根據(jù)響應(yīng)碼長(zhǎng)度生 成響應(yīng)碼長(zhǎng)度節(jié)點(diǎn),根據(jù)響應(yīng)碼編碼信息生成響應(yīng)碼編碼信息節(jié)點(diǎn),將響應(yīng)碼長(zhǎng)度節(jié)點(diǎn)和 響應(yīng)碼編碼信息節(jié)點(diǎn)作為屬性節(jié)點(diǎn)添加到響應(yīng)碼格式節(jié)點(diǎn)中;生成時(shí)間節(jié)點(diǎn),將時(shí)間節(jié)點(diǎn) 作為數(shù)據(jù)節(jié)點(diǎn)的子節(jié)點(diǎn)添加到數(shù)據(jù)節(jié)點(diǎn)中,生成第二明文節(jié)點(diǎn),將第二明文節(jié)點(diǎn)作為時(shí)間 節(jié)點(diǎn)的子節(jié)點(diǎn)添加到時(shí)間節(jié)點(diǎn)中,從密鑰屬性列表中讀取時(shí)間因子的初始值,將時(shí)間因子 的初始值作為文本節(jié)點(diǎn)添加到第二明文節(jié)點(diǎn)中;生成時(shí)間間隔節(jié)點(diǎn),將時(shí)間間隔節(jié)點(diǎn)作為 數(shù)據(jù)節(jié)點(diǎn)的子節(jié)點(diǎn)添加到數(shù)據(jù)節(jié)點(diǎn)中,生成第三明文節(jié)點(diǎn),將第三明文節(jié)點(diǎn)作為時(shí)間間隔 節(jié)點(diǎn)的子節(jié)點(diǎn)添加到時(shí)間間隔節(jié)點(diǎn)中,從密鑰屬性列表中讀取時(shí)間間隔值,將時(shí)間間隔值 作為文本節(jié)點(diǎn)添加到第三明文節(jié)點(diǎn)中;生成時(shí)間偏移節(jié)點(diǎn),將時(shí)間偏移節(jié)點(diǎn)作為數(shù)據(jù)節(jié)點(diǎn) 的子節(jié)點(diǎn)添加到數(shù)據(jù)節(jié)點(diǎn)中,生成第四明文節(jié)點(diǎn),將第四明文節(jié)點(diǎn)作為時(shí)間偏移節(jié)點(diǎn)的子 節(jié)點(diǎn)添加到時(shí)間偏移節(jié)點(diǎn)中,從密鑰屬性列表中讀取時(shí)間偏移量的初始值,將時(shí)間偏移量 的初始值作為文本節(jié)點(diǎn)添加到第四明文節(jié)點(diǎn)中。
[0207] 具體地,編碼裝置可以將算法參數(shù)節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記添加到密鑰節(jié)點(diǎn)的 起始標(biāo)記和結(jié)束標(biāo)記之間,將響應(yīng)碼格式節(jié)點(diǎn)添加到算法參數(shù)節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記 之間,從密鑰屬性列表中讀取響應(yīng)碼長(zhǎng)度和響應(yīng)碼編碼信息,將響應(yīng)碼長(zhǎng)度作為屬性值生 成響應(yīng)碼長(zhǎng)度節(jié)點(diǎn),將響應(yīng)碼編碼信息作為屬性值生成響應(yīng)碼編碼信息節(jié)點(diǎn),將響應(yīng)碼長(zhǎng) 度節(jié)點(diǎn)和響應(yīng)碼編碼信息節(jié)點(diǎn)添加到響應(yīng)碼格式節(jié)點(diǎn)中。其中,響應(yīng)碼長(zhǎng)度節(jié)點(diǎn)和響應(yīng)碼 編碼信息節(jié)點(diǎn)均為屬性節(jié)點(diǎn),均包括屬性名和屬性值。
[0208] 編碼裝置可以將時(shí)間節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記添加到數(shù)據(jù)節(jié)點(diǎn)的起始標(biāo)記和 結(jié)束標(biāo)記之間,將第二明文節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記添加到時(shí)間節(jié)點(diǎn)的起始標(biāo)記和結(jié)束 標(biāo)記之間,從密鑰屬性列表中讀取時(shí)間因子的初始值,將時(shí)間因子的初始值添加到第二明 文節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間;將時(shí)間間隔節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記添加到數(shù)據(jù)節(jié) 點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間,將第三明文節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記添加到時(shí)間間隔節(jié) 點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間,從密鑰屬性列表中讀取時(shí)間間隔值,將時(shí)間間隔值添加到 第三明文節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間;將時(shí)間偏移節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記添加到 數(shù)據(jù)節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間,將第四明文節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記添加到時(shí)間 偏移節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間,從密鑰屬性列表中讀取時(shí)間偏移量的初始值,將時(shí) 間偏移量的初始值添加到第四明文節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間。
[0209] 例如,編碼裝置將算法參數(shù)節(jié)點(diǎn)的起始標(biāo)記〈AlgorithmParameters〉和結(jié)束標(biāo)記 〈/AlgorithmParameters〉添加到密鑰節(jié)點(diǎn)的起始標(biāo)記〈Key〉和結(jié)束標(biāo)記〈/Key〉之間,將 響應(yīng)碼格式節(jié)點(diǎn)〈ResponseFormat/〉添加到算法參數(shù)節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間,從 密鑰屬性列表中讀取響應(yīng)碼長(zhǎng)度"8"和響應(yīng)碼編碼信息"DECIMAL",將響應(yīng)碼長(zhǎng)度"8"作 為屬性值,生成響應(yīng)碼長(zhǎng)度節(jié)點(diǎn)"Length = 〃8〃",將響應(yīng)碼編碼信息"DECIMAL"作為屬性 值,生成響應(yīng)碼編碼信息節(jié)點(diǎn)"Encoding = "DECIMAL〃",其中,響應(yīng)碼長(zhǎng)度節(jié)點(diǎn)包括屬性名 "Length"和屬性值"8",響應(yīng)碼編碼信息節(jié)點(diǎn)包括屬性名"Encoding"和屬性值"DECIMAL", 編碼裝置將上述響應(yīng)碼長(zhǎng)度節(jié)點(diǎn)和響應(yīng)碼編碼信息節(jié)點(diǎn)添加到響應(yīng)碼格式節(jié)點(diǎn)后,響應(yīng) 碼格式節(jié)點(diǎn)被更新為:〈ResponseFormat Length = 〃8〃Encoding = 〃DECIMAL〃/>。編 碼裝置將時(shí)間節(jié)點(diǎn)的起始標(biāo)記〈Time〉和結(jié)束標(biāo)記〈/Time〉添加到數(shù)據(jù)節(jié)點(diǎn)的起始標(biāo)記 〈Data〉和結(jié)束標(biāo)記〈/Data〉之間,將第二明文節(jié)點(diǎn)的起始標(biāo)記〈PlainValue〉和結(jié)束標(biāo) 記〈/PlainValue〉添加到時(shí)間節(jié)點(diǎn)的起始標(biāo)記〈Time〉和結(jié)束標(biāo)記〈/Time〉之間,從密鑰 屬性列表中讀取時(shí)間因子的初始值"0",將時(shí)間因子的初始值"0"添加到第二明文節(jié)點(diǎn) 的起始標(biāo)記〈PlainValue〉和結(jié)束標(biāo)記〈/PlainValue〉之間;將時(shí)間間隔節(jié)點(diǎn)的起始標(biāo)記 〈Timelnterval〉和結(jié)束標(biāo)記〈/Timelnterval〉添加到數(shù)據(jù)節(jié)點(diǎn)的起始標(biāo)記〈Data〉和結(jié)束 標(biāo)記〈/Data〉之間,將第三明文節(jié)點(diǎn)的起始標(biāo)記〈PlainValue〉和結(jié)束標(biāo)記〈/PlainValue〉 添加到時(shí)間間隔節(jié)點(diǎn)的起始標(biāo)記〈Timelnterval〉和結(jié)束標(biāo)記〈/Timelnterval〉之間,從密 鑰屬性列表中讀取時(shí)間間隔值"60",將時(shí)間間隔值"60"添加到第三明文節(jié)點(diǎn)的起始標(biāo)記 〈PlainValue〉和結(jié)束標(biāo)記〈/PlainValue〉之間;將時(shí)間偏移節(jié)點(diǎn)的起始標(biāo)記〈TimeDrift〉 和結(jié)束標(biāo)記〈/TimeDrift〉添加到數(shù)據(jù)節(jié)點(diǎn)的起始標(biāo)記〈Data〉和結(jié)束標(biāo)記〈/Data〉之 間,將第四明文節(jié)點(diǎn)的起始標(biāo)記〈PlainValue〉和結(jié)束標(biāo)記〈/PlainValue〉添加到時(shí)間偏 移節(jié)點(diǎn)的起始標(biāo)記〈TimeDrift〉和結(jié)束標(biāo)記〈/TimeDrift〉之間,從密鑰屬性列表中讀取 時(shí)間偏移量的初始值"〇",將時(shí)間偏移量的初始值"〇"添加到第四明文節(jié)點(diǎn)的起始標(biāo)記 〈PlainValue〉和結(jié)束標(biāo)記〈/PlainValue〉之間。
[0210] 此外,當(dāng)密鑰信息與事件型動(dòng)態(tài)令牌中的種子密鑰相關(guān)時(shí),密鑰屬性列表中還可 包括響應(yīng)碼長(zhǎng)度、響應(yīng)碼編碼信息和事件因子的初始值,相應(yīng)地,編碼裝置生成算法參數(shù)節(jié) 點(diǎn),將算法參數(shù)節(jié)點(diǎn)作為密鑰節(jié)點(diǎn)的子節(jié)點(diǎn)添加到密鑰節(jié)點(diǎn)中,生成響應(yīng)碼格式節(jié)點(diǎn),將響 應(yīng)碼格式節(jié)點(diǎn)作為算法參數(shù)節(jié)點(diǎn)的子節(jié)點(diǎn)添加到算法參數(shù)節(jié)點(diǎn)中,從密鑰屬性列表中讀取 響應(yīng)碼長(zhǎng)度和響應(yīng)碼編碼信息,根據(jù)響應(yīng)碼長(zhǎng)度生成響應(yīng)碼長(zhǎng)度節(jié)點(diǎn),根據(jù)響應(yīng)碼編碼信 息生成響應(yīng)碼編碼信息節(jié)點(diǎn),將響應(yīng)碼長(zhǎng)度節(jié)點(diǎn)和響應(yīng)碼編碼信息節(jié)點(diǎn)作為屬性節(jié)點(diǎn)添加 到響應(yīng)碼格式節(jié)點(diǎn)中,生成計(jì)數(shù)器節(jié)點(diǎn),將計(jì)數(shù)器節(jié)點(diǎn)作為數(shù)據(jù)節(jié)點(diǎn)的子節(jié)點(diǎn)添加到數(shù)據(jù) 節(jié)點(diǎn)中,生成第五明文節(jié)點(diǎn),將第五明文節(jié)點(diǎn)作為計(jì)數(shù)器節(jié)點(diǎn)的子節(jié)點(diǎn)添加到計(jì)數(shù)器節(jié)點(diǎn) 中,將事件因子的初始值作為文本節(jié)點(diǎn)添加到第五明文節(jié)點(diǎn)中。
[0211] 具體地,編碼裝置可以將算法參數(shù)節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記添加到密鑰節(jié)點(diǎn)的 起始標(biāo)記和結(jié)束標(biāo)記之間,將響應(yīng)碼格式節(jié)點(diǎn)添加到算法參數(shù)節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記 之間,從密鑰屬性列表中讀取響應(yīng)碼長(zhǎng)度和響應(yīng)碼編碼信息,將響應(yīng)碼長(zhǎng)度作為屬性值生 成響應(yīng)碼長(zhǎng)度節(jié)點(diǎn),將響應(yīng)碼編碼信息作為屬性值生成響應(yīng)碼編碼信息節(jié)點(diǎn),將響應(yīng)碼長(zhǎng) 度節(jié)點(diǎn)和響應(yīng)碼編碼信息節(jié)點(diǎn)添加到響應(yīng)碼格式節(jié)點(diǎn)中。其中,響應(yīng)碼長(zhǎng)度節(jié)點(diǎn)和響應(yīng)碼 編碼信息節(jié)點(diǎn)均為屬性節(jié)點(diǎn),均包括屬性名和屬性值。
[0212] 編碼裝置可以將計(jì)數(shù)器節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記添加到數(shù)據(jù)節(jié)點(diǎn)的起始標(biāo)記 和結(jié)束標(biāo)記之間,將第五明文節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記添加到計(jì)數(shù)器節(jié)點(diǎn)的起始標(biāo)記和 結(jié)束標(biāo)記之間,并在第五明文節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間添加事件因子的初始值。
[0213] 例如,編碼裝置將算法參數(shù)節(jié)點(diǎn)的起始標(biāo)記〈AlgorithmParameters〉和結(jié)束標(biāo)記 〈/AlgorithmParameters〉添加到密鑰節(jié)點(diǎn)的起始標(biāo)記〈Key〉和結(jié)束標(biāo)記〈/Key〉之間,將 響應(yīng)碼格式節(jié)點(diǎn)〈ResponseFormat/〉添加到算法參數(shù)節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間,從 密鑰屬性列表中讀取響應(yīng)碼長(zhǎng)度"8"和響應(yīng)碼編碼信息"DECIMAL",將響應(yīng)碼長(zhǎng)度"8"作 為屬性值,生成響應(yīng)碼長(zhǎng)度節(jié)點(diǎn)"Length = 〃8〃",將響應(yīng)碼編碼信息"DECIMAL"作為屬性 值,生成響應(yīng)碼編碼信息節(jié)點(diǎn)"Encoding = "DECIMAL〃",其中,響應(yīng)碼長(zhǎng)度節(jié)點(diǎn)包括屬性名 "Length"和屬性值"8",響應(yīng)碼編碼信息節(jié)點(diǎn)包括屬性名"Encoding"和屬性值"DECIMAL", 編碼裝置將上述響應(yīng)碼長(zhǎng)度節(jié)點(diǎn)和響應(yīng)碼編碼信息節(jié)點(diǎn)添加到響應(yīng)碼格式節(jié)點(diǎn)后,響應(yīng)碼 格式節(jié)點(diǎn)被更新為:〈ResponseFormat Length = 〃8〃Encoding = 〃DECIMAL〃/>。編碼裝置 將計(jì)數(shù)器節(jié)點(diǎn)的起始標(biāo)記〈Counter〉和結(jié)束標(biāo)記〈/Counter〉添加到數(shù)據(jù)節(jié)點(diǎn)的起始標(biāo)記 〈Data〉和結(jié)束標(biāo)記〈/Data〉之間,將第五明文節(jié)點(diǎn)的起始標(biāo)記〈PlainValue〉和結(jié)束標(biāo)記 〈/PlainValue〉添加到計(jì)數(shù)器節(jié)點(diǎn)的起始標(biāo)記〈Counter〉和結(jié)束標(biāo)記〈/Counter〉之間,并 在第五明文節(jié)點(diǎn)的起始標(biāo)記〈PlainValue〉和結(jié)束標(biāo)記〈/PlainValue〉之間添加事件因子 的初始值"0"。
[0214] 與圖1和圖2所示的實(shí)現(xiàn)密鑰信息編碼的裝置的工作方法相對(duì)應(yīng),本發(fā)明實(shí)施例 還提供了實(shí)現(xiàn)密鑰信息解碼的裝置的工作方法,如圖3至圖6所示,包括以下步驟:
[0215] 步驟201,解碼裝置從密鑰文件的根節(jié)點(diǎn)中查找密鑰包節(jié)點(diǎn),如果查找到,則執(zhí)行 步驟202 ;否則,解碼裝置顯示錯(cuò)誤信息,結(jié)束流程。
[0216] 具體地,解碼裝置可以在密文文件的根節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間查找密鑰 包節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,如果查找到,則確定從密鑰文件的根節(jié)點(diǎn)中查找到密鑰包 節(jié)點(diǎn);否則,確定沒(méi)有從密鑰文件的根節(jié)點(diǎn)中查找到密鑰包節(jié)點(diǎn)。其中,密文文件的根節(jié)點(diǎn) 為密鑰容器節(jié)點(diǎn)。
[0217] 例如,解碼裝置在密鑰容器節(jié)點(diǎn)的起始標(biāo)記〈KeyContainer〉和結(jié)束標(biāo) 記〈/KeyContainer〉之間查找密鑰包節(jié)點(diǎn)的起始標(biāo)記〈KeyPackage〉和結(jié)束標(biāo)記〈/ KeyPackage〉,如果查找到,則確定從密鑰文件的根節(jié)點(diǎn)中查找到密鑰包節(jié)點(diǎn);否則,確定沒(méi) 有從密鑰文件的根節(jié)點(diǎn)中查找到密鑰包節(jié)點(diǎn)。
[0218] 步驟202,解碼裝置從密鑰包節(jié)點(diǎn)中查找設(shè)備信息節(jié)點(diǎn),如果查找到,則執(zhí)行步驟 203 ;否則,執(zhí)行步驟208。
[0219] 具體地,解碼裝置可以在密鑰包節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間查找設(shè)備信息節(jié) 點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,如果查找到,則確定從密鑰包節(jié)點(diǎn)中查找到設(shè)備信息節(jié)點(diǎn);否 貝1J,確定沒(méi)有從密鑰包節(jié)點(diǎn)中查找到設(shè)備信息節(jié)點(diǎn)。
[0220] 例如,解碼裝置在密鑰包節(jié)點(diǎn)的起始標(biāo)記〈KeyPackage〉和結(jié)束標(biāo)記〈/ KeyPackage〉之間查找設(shè)備信息節(jié)點(diǎn)的起始標(biāo)記〈Deviceinfo〉和結(jié)束標(biāo)記〈/ Devicelnfo〉,如果查找到,則確定從密鑰包節(jié)點(diǎn)中查找到設(shè)備信息節(jié)點(diǎn);否則,確定沒(méi)有從 密鑰包節(jié)點(diǎn)中查找到設(shè)備信息節(jié)點(diǎn)。
[0221] 步驟203,解碼裝置從設(shè)備信息節(jié)點(diǎn)中查找廠商節(jié)點(diǎn),如果查找到,則執(zhí)行步驟 204 ;否則,執(zhí)行步驟205。
[0222] 具體地,解碼裝置可以在設(shè)備信息節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間查找廠商節(jié)點(diǎn) 的起始標(biāo)記和結(jié)束標(biāo)記,如果查找到,則確定從設(shè)備信息節(jié)點(diǎn)中查找到廠商節(jié)點(diǎn);否則,確 定沒(méi)有從設(shè)備信息節(jié)點(diǎn)中查找到廠商節(jié)點(diǎn)。
[0223] 例如,解碼裝置在設(shè)備信息節(jié)點(diǎn)的起始標(biāo)記〈Deviceinfo〉和結(jié)束標(biāo) 記〈/Deviceinfo〉之間查找廠商節(jié)點(diǎn)的起始標(biāo)記〈Manufacturer〉和結(jié)束標(biāo)記〈/ Manufacturer〉,如果查找到,則確定從設(shè)備信息節(jié)點(diǎn)中查找到廠商節(jié)點(diǎn);否則,確定沒(méi)有從 設(shè)備信息節(jié)點(diǎn)中查找到廠商節(jié)點(diǎn)。
[0224] 步驟204,解碼裝置獲取廠商節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作為 廠商信息進(jìn)行保存,并執(zhí)行步驟205。
[0225] 具體地,解碼裝置可以獲取位于廠商節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間的文本節(jié)點(diǎn) 的文本內(nèi)容,將該文本內(nèi)容作為廠商信息進(jìn)行保存。
[0226] 例如,解碼裝置獲取位于廠商節(jié)點(diǎn)的起始標(biāo)記〈Manufacturer〉和結(jié)束標(biāo) 記〈/Manufacturer〉之間的文本節(jié)點(diǎn)的文本內(nèi)容"Manufacturer",將該文本內(nèi)容 "Manufacturer"作為廠商信息進(jìn)行保存。
[0227] 步驟205,解碼裝置從設(shè)備信息節(jié)點(diǎn)中查找序列號(hào)節(jié)點(diǎn),如果查找到,則執(zhí)行步驟 206 ;否則,執(zhí)行步驟207。
[0228] 具體地,解碼裝置可以在設(shè)備信息節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間查找序列號(hào)節(jié) 點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,如果查找到,則確定從設(shè)備信息節(jié)點(diǎn)中查找到序列號(hào)節(jié)點(diǎn);否 貝1J,確定沒(méi)有從設(shè)備信息節(jié)點(diǎn)中查找到序列號(hào)節(jié)點(diǎn)。
[0229] 例如,解碼裝置在設(shè)備信息節(jié)點(diǎn)的起始標(biāo)記〈Deviceinfo〉和結(jié)束標(biāo)記〈/ Deviceinfo〉之間查找序列號(hào)節(jié)點(diǎn)的起始標(biāo)記〈SerialNo〉和結(jié)束標(biāo)記〈/SerialNo〉,如果 查找到,則確定從設(shè)備信息節(jié)點(diǎn)中查找到序列號(hào)節(jié)點(diǎn);否則,確定沒(méi)有從設(shè)備信息節(jié)點(diǎn)中查 找到序列號(hào)節(jié)點(diǎn)。
[0230] 步驟206,解碼裝置獲取序列號(hào)節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作 為設(shè)備序列號(hào)進(jìn)行保存,并執(zhí)行步驟207。
[0231] 具體地,解碼裝置可以獲取位于序列號(hào)節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間的文本節(jié) 點(diǎn)的文本內(nèi)容,將該文本內(nèi)容作為設(shè)備序列號(hào)進(jìn)行保存。
[0232] 例如,解碼裝置獲取位于序列號(hào)節(jié)點(diǎn)的起始標(biāo)記〈SerialNo>和結(jié)束標(biāo)記〈/ SerialNo〉之間的文本節(jié)點(diǎn)的文本內(nèi)容"987654321",將該文本內(nèi)容"987654321"作為設(shè)備 序列號(hào)進(jìn)行保存。
[0233] 步驟207,解碼裝置從密鑰包節(jié)點(diǎn)中查找密鑰節(jié)點(diǎn),如果查找到,則執(zhí)行步驟208 ; 否則,解碼裝置顯示錯(cuò)誤信息,結(jié)束流程。
[0234] 具體地,解碼裝置可以在密鑰包節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間查找密鑰節(jié)點(diǎn)的 起始標(biāo)記和結(jié)束標(biāo)記,如果查找到,則確定從密鑰包節(jié)點(diǎn)中查找到密鑰節(jié)點(diǎn);否則,確定沒(méi) 有從密鑰包節(jié)點(diǎn)中查找到密鑰節(jié)點(diǎn)。
[0235] 例如,解碼裝置在密鑰包節(jié)點(diǎn)的起始標(biāo)記〈KeyPackage〉和結(jié)束標(biāo)記〈/ KeyPackage〉之間查找密鑰節(jié)點(diǎn)的起始標(biāo)記〈Key〉和結(jié)束標(biāo)記〈/Key〉,如果查找到,則確定 從密鑰包節(jié)點(diǎn)中查找到密鑰節(jié)點(diǎn);否則,確定沒(méi)有從密鑰包節(jié)點(diǎn)中查找到密鑰節(jié)點(diǎn)。
[0236] 步驟208,解碼裝置獲取密鑰節(jié)點(diǎn)中的密鑰算法節(jié)點(diǎn)的屬性值,將獲取到的屬性值 作為密鑰算法信息進(jìn)行保存。
[0237] 具體地,解碼裝置可以將位于密鑰節(jié)點(diǎn)的起始標(biāo)記中的密鑰算法節(jié)點(diǎn)作為屬性節(jié) 點(diǎn),獲取密鑰算法節(jié)點(diǎn)的屬性值,并將獲取到的屬性值作為密鑰算法信息進(jìn)行保存。
[0238] 例如,解碼裝置將位于密鑰節(jié)點(diǎn)的起始標(biāo)記〈Key〉中的密鑰算法節(jié)點(diǎn)"Algorithm =〃urn: ietf :params:xml :ns:keyprov:pskc:hotp〃"作為屬性節(jié)點(diǎn),獲取上述密鑰算法節(jié) 點(diǎn)的屬性值,即,"urn: ietf :params:xml :ns:keyprov:pskc:hotp",并將獲取到的屬性值作 為密鑰算法信息進(jìn)行保存。
[0239] 步驟209,解碼裝置獲取密鑰節(jié)點(diǎn)中的密鑰標(biāo)識(shí)節(jié)點(diǎn)的屬性值,將獲取到的屬性值 作為密鑰標(biāo)識(shí)進(jìn)行保存。
[0240] 具體地,解碼裝置可以將位于密鑰節(jié)點(diǎn)的起始標(biāo)記中的密鑰標(biāo)識(shí)節(jié)點(diǎn)作為屬性節(jié) 點(diǎn),獲取密鑰標(biāo)識(shí)節(jié)點(diǎn)的屬性值,并將獲取到的屬性值作為密鑰標(biāo)識(shí)進(jìn)行保存。
[0241] 例如,解碼裝置將位于密鑰節(jié)點(diǎn)的起始標(biāo)記〈Key〉中的密鑰標(biāo)識(shí)節(jié)點(diǎn)"Id = "12345678""作為屬性節(jié)點(diǎn),獲取密鑰算法節(jié)點(diǎn)的屬性值"12345678",并將獲取到的屬性值 " 12345678"作為密鑰標(biāo)識(shí)進(jìn)行保存。
[0242] 步驟210,解碼裝置從密鑰節(jié)點(diǎn)中查找數(shù)據(jù)節(jié)點(diǎn),如果查找到,則執(zhí)行步驟211 ;否 貝1J,解碼裝置顯示錯(cuò)誤信息,結(jié)束流程。
[0243] 具體地,解碼裝置可以在密鑰節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間查找數(shù)據(jù)節(jié)點(diǎn)的起 始標(biāo)記和結(jié)束標(biāo)記,如果查找到,則確定從密鑰節(jié)點(diǎn)中查找到數(shù)據(jù)節(jié)點(diǎn);否則,確定沒(méi)有從 密鑰節(jié)點(diǎn)中查找到數(shù)據(jù)節(jié)點(diǎn)。
[0244] 例如,解碼裝置在密鑰節(jié)點(diǎn)的起始標(biāo)記〈Key〉和結(jié)束標(biāo)記〈/Key〉之間查找數(shù)據(jù)節(jié) 點(diǎn)的起始標(biāo)記〈Data〉和結(jié)束標(biāo)記〈/Data〉,如果查找到,則確定從密鑰節(jié)點(diǎn)中查找到數(shù)據(jù) 節(jié)點(diǎn);否則,確定沒(méi)有從密鑰節(jié)點(diǎn)中查找到數(shù)據(jù)節(jié)點(diǎn)。
[0245] 步驟211,解碼裝置從數(shù)據(jù)節(jié)點(diǎn)中查找密鑰值節(jié)點(diǎn),如果查找到,則執(zhí)行步驟212 ; 否則,解碼裝置顯示錯(cuò)誤信息,結(jié)束流程。
[0246] 具體地,解碼裝置可以在數(shù)據(jù)節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間查找密鑰值節(jié)點(diǎn)的 起始標(biāo)記和結(jié)束標(biāo)記,如果查找到,則確定從數(shù)據(jù)節(jié)點(diǎn)中查找到密鑰值節(jié)點(diǎn);否則,確定沒(méi) 有從數(shù)據(jù)節(jié)點(diǎn)中查找到密鑰值節(jié)點(diǎn)。
[0247] 例如,解碼裝置在數(shù)據(jù)節(jié)點(diǎn)的起始標(biāo)記和〈Data〉和結(jié)束標(biāo)記〈/Data〉之間查找密 鑰值節(jié)點(diǎn)的起始標(biāo)記〈Secret〉和結(jié)束標(biāo)記〈/Secret〉,如果查找到,則確定從數(shù)據(jù)節(jié)點(diǎn)中 查找到密鑰值節(jié)點(diǎn);否則,確定沒(méi)有從數(shù)據(jù)節(jié)點(diǎn)中查找到密鑰值節(jié)點(diǎn)。
[0248] 步驟212,解碼裝置從密鑰值節(jié)點(diǎn)中查找明文節(jié)點(diǎn),如果查找到,則執(zhí)行步驟213 ; 否則,執(zhí)行步驟214。
[0249] 具體地,解碼裝置可以在密鑰值節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間查找明文節(jié)點(diǎn)的 起始標(biāo)記和結(jié)束標(biāo)記,如果查找到,則確定從密鑰值節(jié)點(diǎn)中查找到明文節(jié)點(diǎn);否則,確定沒(méi) 有從密鑰值節(jié)點(diǎn)中查找到明文節(jié)點(diǎn)。
[0250] 例如,解碼裝置在密鑰值節(jié)點(diǎn)的起始標(biāo)記〈Secret〉和結(jié)束標(biāo)記〈/Secret〉之間查 找明文節(jié)點(diǎn)的起始標(biāo)記〈PlainValue〉和結(jié)束標(biāo)記〈/PlainValue〉,如果查找到,則確定從 密鑰值節(jié)點(diǎn)中查找到明文節(jié)點(diǎn);否則,確定沒(méi)有從密鑰值節(jié)點(diǎn)中查找到明文節(jié)點(diǎn)。
[0251] 步驟213,解碼裝置獲取明文節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作為 密鑰明文進(jìn)行保存。
[0252] 具體地,解碼裝置可以獲取位于明文節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間的文本節(jié)點(diǎn) 的文本內(nèi)容,將該文本內(nèi)容作為密鑰明文進(jìn)行保存。
[0253] 例如,解碼裝置獲取位于明文節(jié)點(diǎn)的起始標(biāo)記〈PlainValue〉和結(jié)束標(biāo)記〈/ PlainValue〉之間的文本節(jié)點(diǎn)的文本內(nèi)容"ΜΤΙζΝΑ = = ",將該文本內(nèi)容"ΜΤΙζΝΑ == "作 為密鑰明文進(jìn)行保存。
[0254] 步驟214,解碼裝置從密鑰值節(jié)點(diǎn)中查找密文節(jié)點(diǎn),如果查找到,則執(zhí)行步驟215 ; 否則,解碼裝置顯示錯(cuò)誤信息,結(jié)束流程。
[0255] 具體地,解碼裝置可以在密鑰值節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間查找密文節(jié)點(diǎn)的 起始標(biāo)記和結(jié)束標(biāo)記,如果查找到,則確定從密鑰值節(jié)點(diǎn)中查找到密文節(jié)點(diǎn);否則,確定沒(méi) 有從密鑰值節(jié)點(diǎn)中查找到密文節(jié)點(diǎn)。
[0256] 例如,解碼裝置在密鑰值節(jié)點(diǎn)的起始標(biāo)記〈Secret〉和結(jié)束標(biāo)記〈/Secret〉之間查 找密文節(jié)點(diǎn)的起始標(biāo)記〈EncryptedValue〉和結(jié)束標(biāo)記〈/EncryptedValue〉,如果查找到, 則確定從密鑰值節(jié)點(diǎn)中查找到密文節(jié)點(diǎn);否則,確定沒(méi)有從密鑰值節(jié)點(diǎn)中查找到密文節(jié)點(diǎn)。
[0257] 步驟215,解碼裝置從密文節(jié)點(diǎn)中查找第一加密方法節(jié)點(diǎn),如果查找到,則執(zhí)行步 驟216 ;否則,解碼裝置顯示錯(cuò)誤信息,結(jié)束流程。
[0258] 具體地,解碼裝置可以在密文節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間查找第一加密方法 節(jié)點(diǎn),如果查找到,則確定從密文節(jié)點(diǎn)中查找到第一加密方法節(jié)點(diǎn);否則,確定沒(méi)有從密文 節(jié)點(diǎn)中查找到第一加密方法節(jié)點(diǎn)。
[0259] 例如,解碼裝置在密文節(jié)點(diǎn)的起始標(biāo)記〈EncryptedValue〉和結(jié)束標(biāo)記〈/ EncryptedValue〉之間查找第一加密方法節(jié)點(diǎn)<xenc:EncryptionMethod/>,如果查找到, 則確定從密文節(jié)點(diǎn)中查找到第一加密方法節(jié)點(diǎn);否則,確定沒(méi)有從密文節(jié)點(diǎn)中查找到第一 加密方法節(jié)點(diǎn)。
[0260] 步驟216,解碼裝置獲取第一加密方法節(jié)點(diǎn)中的第一加密密鑰算法節(jié)點(diǎn)的屬性值 作為加密密鑰算法信息。
[0261] 具體地,解碼裝置可以將第一加密方法節(jié)點(diǎn)中的密鑰算法節(jié)點(diǎn)作為屬性節(jié)點(diǎn),獲 取密鑰算法節(jié)點(diǎn)的屬性值,并將獲取到的屬性值作為密鑰算法信息進(jìn)行保存。
[0262] 例如,解碼裝置將第一加密方法節(jié)點(diǎn)中的密鑰算法節(jié)點(diǎn)"Algorithm = 〃aesl28-CbC〃"作為屬性節(jié)點(diǎn),獲取密鑰算法節(jié)點(diǎn)的屬性值,S卩,"aesl28- CbC",并將獲取到 的屬性值作為密鑰算法信息進(jìn)行保存。
[0263] 步驟217,解碼裝置從密文節(jié)點(diǎn)中查找第一密碼數(shù)據(jù)節(jié)點(diǎn),如果查找到,則執(zhí)行步 驟218 ;否則,解碼裝置顯示錯(cuò)誤信息,結(jié)束流程。
[0264] 具體地,解碼裝置可以在密文節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間查找第一密碼數(shù)據(jù) 節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,如果查找到,則確定從密文節(jié)點(diǎn)中查找到第一密碼數(shù)據(jù)節(jié)點(diǎn); 否則,確定沒(méi)有從密文節(jié)點(diǎn)中查找到第一密碼數(shù)據(jù)節(jié)點(diǎn)。
[0265] 例如,解碼裝置在密文節(jié)點(diǎn)的起始標(biāo)記〈EncryptedValue〉和結(jié)束標(biāo)記〈/ EncryptedValue〉之間查找第一密碼數(shù)據(jù)節(jié)點(diǎn)的起始標(biāo)記<xenc:CipherData>和結(jié)束標(biāo)記 </xenc:CipherData>,如果查找到,則確定從密文節(jié)點(diǎn)中查找到第一密碼數(shù)據(jù)節(jié)點(diǎn);否則, 確定沒(méi)有從密文節(jié)點(diǎn)中查找到第一密碼數(shù)據(jù)節(jié)點(diǎn)。
[0266] 步驟218,解碼裝置從第一密碼數(shù)據(jù)節(jié)點(diǎn)中查找第一密碼值節(jié)點(diǎn),如果查找到,則 執(zhí)行步驟219 ;否則,解碼裝置顯示錯(cuò)誤信息,結(jié)束流程。
[0267] 具體地,解碼裝置可以在第一密碼數(shù)據(jù)節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間查找第一 密碼值節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,如果查找到,則確定從第一密碼數(shù)據(jù)節(jié)點(diǎn)中查找到第 一密碼值節(jié)點(diǎn);否則,確定沒(méi)有從第一密碼數(shù)據(jù)節(jié)點(diǎn)中查找到第一密碼值節(jié)點(diǎn)。
[0268] 例如,解碼裝置在第一密碼數(shù)據(jù)節(jié)點(diǎn)的起始標(biāo)記<xenc:CipherData>和結(jié)束標(biāo)記 </xenc:CipherData>之間查找第一密碼值節(jié)點(diǎn)的起始標(biāo)記<xenc:CipherValue>和結(jié)束標(biāo) 記</xenc:CipherValue>,如果查找到,則確定從第一密碼數(shù)據(jù)節(jié)點(diǎn)中查找到第一密碼值節(jié) 點(diǎn);否則,確定沒(méi)有從第一密碼數(shù)據(jù)節(jié)點(diǎn)中查找到第一密碼值節(jié)點(diǎn)。
[0269] 步驟219,解碼裝置獲取第一密碼值節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容作為密鑰密文。
[0270] 具體地,解碼裝置可以獲取位于第一密碼值節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間的文 本節(jié)點(diǎn)的文本內(nèi)容作為密鑰密文。
[0271] 例如,解碼裝置獲取位于第一密碼值節(jié)點(diǎn)的起始標(biāo)記<xenc:CipherValue>和結(jié) 束標(biāo)記</xenc:CipherValue>之間的文本節(jié)點(diǎn)的文本內(nèi)容,即,AAECAwQFBgcICQoLDAOOD+c IHItlB3WralDUpxVv0x21ef lVmNPCM18jwZqI UqGv,作為密鑰密文。
[0272] 步驟220,解碼裝置從密鑰文件的根節(jié)點(diǎn)中查找加密密鑰節(jié)點(diǎn),如果查找到,則執(zhí) 行步驟221 ;否則,解碼裝置顯示錯(cuò)誤信息,結(jié)束流程。
[0273] 具體地,解碼裝置可以在密文文件的根節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間查找加密 密鑰節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,如果查找到,則確定從密鑰文件的根節(jié)點(diǎn)中查找到加密 密鑰節(jié)點(diǎn);否則,確定沒(méi)有從密鑰文件的根節(jié)點(diǎn)中查找到加密密鑰節(jié)點(diǎn)。其中,密鑰文件的 根節(jié)點(diǎn)為密鑰容器節(jié)點(diǎn)
[0274] 例如,解碼裝置在密鑰容器節(jié)點(diǎn)的起始標(biāo)記〈KeyContainer〉和結(jié)束標(biāo)記〈/ KeyContainer〉之間查找加密密鑰節(jié)點(diǎn)的起始標(biāo)記〈EncryptionKey〉和結(jié)束標(biāo)記〈/ EncryptionKey〉,如果查找到,則確定從密鑰文件的根節(jié)點(diǎn)中查找到加密密鑰節(jié)點(diǎn);否則, 確定沒(méi)有從密鑰文件的根節(jié)點(diǎn)中查找到加密密鑰節(jié)點(diǎn)。
[0275] 步驟221,解碼裝置從加密密鑰節(jié)點(diǎn)中查找密鑰名節(jié)點(diǎn),如果查找到,則執(zhí)行步驟 222 ;否則,解碼裝置顯示錯(cuò)誤信息,結(jié)束流程。
[0276] 具體地,解碼裝置可以在加密密鑰節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間查找密鑰名節(jié) 點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,如果查找到,則確定從加密密鑰節(jié)點(diǎn)中查找到密鑰名節(jié)點(diǎn);否 貝1J,確定沒(méi)有從加密密鑰節(jié)點(diǎn)中查找到密鑰名節(jié)點(diǎn)。
[0277] 例如,解碼裝置在加密密鑰節(jié)點(diǎn)的起始標(biāo)記〈EncryptionKey〉和結(jié)束標(biāo) 記〈/EncryptionKey〉之間查找密鑰名節(jié)點(diǎn)的起始標(biāo)記<ds: KeyName〉和結(jié)束標(biāo)記〈/ dszKeyName〉,如果查找到,則確定從加密密鑰節(jié)點(diǎn)中查找到密鑰名節(jié)點(diǎn);否則,確定沒(méi)有從 加密密鑰節(jié)點(diǎn)中查找到密鑰名節(jié)點(diǎn)。
[0278] 步驟222,解碼裝置獲取密鑰名節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容作為加密密鑰名,根據(jù)與 加密密鑰名對(duì)應(yīng)的密鑰,使用與獲取到的加密密鑰算法信息對(duì)應(yīng)的策略,對(duì)獲取到的密鑰 密文進(jìn)行解密,得到密鑰明文。
[0279] 具體地,解碼裝置可以獲取位于密鑰名節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間的文本節(jié) 點(diǎn)的文本內(nèi)容作為加密密鑰名,根據(jù)與加密密鑰名對(duì)應(yīng)的密鑰,使用與獲取到的加密密鑰 算法信息對(duì)應(yīng)的策略,對(duì)獲取到的密鑰密文進(jìn)行解密,得到密鑰明文。
[0280] 例如,解碼裝置獲取位于密鑰名節(jié)點(diǎn)的起始標(biāo)記<ds:KeyName>和結(jié)束標(biāo)記〈/ ds: KeyName〉之間的文本節(jié)點(diǎn)的文本內(nèi)容"Pre-shared-key "作為加密密鑰名,根據(jù)與加 密密鑰名"Pre-shared-key"對(duì)應(yīng)的密鑰,使用與通過(guò)步驟216獲取到的加密密鑰算法信 息,即"aesl28-cbc,"對(duì)應(yīng)的策略,對(duì)通過(guò)步驟219獲取到的密鑰密文,S卩,"AAECAwQFBgc ICQoLDA00D+cIHItlB3WralDUpxVv0x21eflVmNPCM18jwZ qlUqGv" 進(jìn)行解密,得到密鑰明文 "ΜΤΙζΝΑ == "。
[0281] 步驟223,解碼裝置從密鑰值節(jié)點(diǎn)中查找MAC值節(jié)點(diǎn),如果查找到,則執(zhí)行步驟 225 ;否則,執(zhí)行步驟224。
[0282] 具體地,解碼裝置可以在密鑰值節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間查找MAC值節(jié)點(diǎn) 的起始標(biāo)記和結(jié)束標(biāo)記,如果查找到,則確定從密鑰值節(jié)點(diǎn)中查找到MAC值節(jié)點(diǎn);否則,確 定沒(méi)有從密鑰值節(jié)點(diǎn)中查找到MAC值節(jié)點(diǎn)。
[0283] 例如,解碼裝置在密鑰值節(jié)點(diǎn)的起始標(biāo)記〈Secret〉和結(jié)束標(biāo)記〈/Secret〉之間查 找MAC值節(jié)點(diǎn)的起始標(biāo)記〈ValueMAC〉和結(jié)束標(biāo)記〈/ValueMAC〉,如果查找到,則確定從密鑰 值節(jié)點(diǎn)中查找到MAC值節(jié)點(diǎn);否則,確定沒(méi)有從密鑰值節(jié)點(diǎn)中查找到MAC值節(jié)點(diǎn)。
[0284] 步驟224,解碼裝置對(duì)解密得到的密鑰明文進(jìn)行保存。
[0285] 例如,解碼裝置對(duì)通過(guò)步驟222解密得到的密鑰明文"ΜΤΙζΝΑ == "進(jìn)行保存。
[0286] 步驟225,解碼裝置獲取MAC值節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容作為摘要值。
[0287] 具體地,解碼裝置可以獲取位于MAC值節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間的文本節(jié) 點(diǎn)的文本內(nèi)容作為摘要值。
[0288] 例如,解碼裝置獲取位于MAC值節(jié)點(diǎn)的起始標(biāo)記〈ValueMAC〉和結(jié)束標(biāo)記〈/ ValueMAC〉之間的文本節(jié)點(diǎn)的文本內(nèi)容"Su+NvtQfmvf JzF6bmQi JqoLRExc = "作為摘要值。
[0289] 步驟226,解碼裝置從密鑰文件的根節(jié)點(diǎn)中查找MAC方法節(jié)點(diǎn),如果查找到,則執(zhí) 行步驟227 ;否則,解碼裝置顯示錯(cuò)誤信息,結(jié)束流程。
[0290] 具體地,解碼裝置可以在密文文件的根節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間查找MAC 方法節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,如果查找到,則確定從密鑰文件的根節(jié)點(diǎn)中查找到MAC 方法節(jié)點(diǎn);否則,確定沒(méi)有從密鑰文件的根節(jié)點(diǎn)中查找到MAC方法節(jié)點(diǎn)。其中,密文文件的 根節(jié)點(diǎn)為密鑰容器節(jié)點(diǎn)。
[0291 ] 例如,解碼裝置在密鑰容器節(jié)點(diǎn)的起始標(biāo)記〈KeyContainer〉和結(jié)束標(biāo)記 〈/KeyContainer〉之間查找MAC方法節(jié)點(diǎn)的起始標(biāo)記〈MACMethod〉和結(jié)束標(biāo)記〈/ MACMethod〉,如果查找到,則確定從密鑰文件的根節(jié)點(diǎn)中查找到MAC方法節(jié)點(diǎn);否則,確定 沒(méi)有從密鑰文件的根節(jié)點(diǎn)中查找到MAC方法節(jié)點(diǎn)。
[0292] 步驟227,解碼裝置獲取MAC方法節(jié)點(diǎn)中的MAC算法節(jié)點(diǎn)的屬性值作為MAC算法信 肩、。
[0293] 具體地,解碼裝置可以將位于MAC方法節(jié)點(diǎn)的起始標(biāo)記中的密鑰算法節(jié)點(diǎn)作為屬 性節(jié)點(diǎn),獲取MAC算法節(jié)點(diǎn)的屬性值作為MAC算法信息。
[0294] 例如,解碼裝置將位于MAC方法節(jié)點(diǎn)的起始標(biāo)記〈MACMethod〉中的MAC算法 節(jié)點(diǎn),即,"Algorithm = 〃hmac-shal〃"作為屬性節(jié)點(diǎn),獲取MAC算法節(jié)點(diǎn)的屬性值,即, "hmac-shal "作為MAC算法信息。
[0295] 步驟228,解碼裝置從MAC方法節(jié)點(diǎn)中查找MAC密鑰節(jié)點(diǎn),如果查找到,則執(zhí)行步驟 229 ;否則,解碼裝置顯示錯(cuò)誤信息,結(jié)束流程。
[0296] 具體地,解碼裝置可以在MAC方法節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間查找MAC密鑰 節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,如果查找到,則確定從MAC方法節(jié)點(diǎn)中查找到MAC密鑰節(jié)點(diǎn); 否則,確定沒(méi)有從MAC方法節(jié)點(diǎn)中查找到MAC密鑰節(jié)點(diǎn)。
[0297] 例如,解碼裝置在MAC方法節(jié)點(diǎn)的起始標(biāo)記〈MACMethod〉和結(jié)束標(biāo)記〈/ MACMethod〉之間查找MAC密鑰節(jié)點(diǎn)的起始標(biāo)記〈MACKey〉和結(jié)束標(biāo)記〈/MACKey〉,如果查找 至IJ,則確定從MAC方法節(jié)點(diǎn)中查找到MAC密鑰節(jié)點(diǎn);否則,確定沒(méi)有從MAC方法節(jié)點(diǎn)中查找 到MAC密鑰節(jié)點(diǎn)。
[0298] 步驟229,解碼裝置從MAC密鑰節(jié)點(diǎn)中查找第二加密方法節(jié)點(diǎn),如果查找到,則執(zhí) 行步驟230 ;否則,解碼裝置顯示錯(cuò)誤信息,結(jié)束流程。
[0299] 具體地,解碼裝置可以在MAC密鑰節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間查找第二加密 方法節(jié)點(diǎn),如果查找到,則確定從MAC密鑰節(jié)點(diǎn)中查找到第二加密方法節(jié)點(diǎn);否則,確定沒(méi) 有從MAC密鑰節(jié)點(diǎn)中查找到第二加密方法節(jié)點(diǎn)。
[0300] 例如,解碼裝置在MAC密鑰節(jié)點(diǎn)的起始標(biāo)記〈MACKey〉和結(jié)束標(biāo)記〈/MACKey〉之間 查找第二加密方法節(jié)點(diǎn),如果查找到,則確定從MAC密鑰節(jié)點(diǎn)中查找到第二加密方法節(jié)點(diǎn); 否則,確定沒(méi)有從MAC密鑰節(jié)點(diǎn)中查找到第二加密方法節(jié)點(diǎn)。
[0301] 步驟230,解碼裝置獲取第二加密方法節(jié)點(diǎn)中的第二加密密鑰算法節(jié)點(diǎn)的屬性值 作為加密密鑰算法信息。
[0302] 具體地,解碼裝置可以將第二加密方法節(jié)點(diǎn)中的第二加密密鑰算法節(jié)點(diǎn)作為屬性 節(jié)點(diǎn),獲取第二加密密鑰算法節(jié)點(diǎn)的屬性值作為加密密鑰算法信息。
[0303] 例如,解碼裝置將第二加密方法節(jié)點(diǎn)中的第二加密密鑰算法節(jié)點(diǎn)" A1 gor i thm = 〃aesl28-cbc""作為屬性節(jié)點(diǎn),獲取第二加密密鑰算法節(jié)點(diǎn)的屬性值,S卩,"aesl28-cbc"作 為加密密鑰算法信息。
[0304] 步驟231,解碼裝置從MAC密鑰節(jié)點(diǎn)中查找第二密碼數(shù)據(jù)節(jié)點(diǎn),如果查找到,則執(zhí) 行步驟232 ;否則,解碼裝置顯示錯(cuò)誤信息,結(jié)束流程。
[0305] 具體地,解碼裝置可以在MAC密鑰節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間查找第二密碼 數(shù)據(jù)節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,如果查找到,則確定從MAC密鑰節(jié)點(diǎn)中查找到第二密碼 數(shù)據(jù)節(jié)點(diǎn);否則,確定沒(méi)有從MAC密鑰節(jié)點(diǎn)中查找到第二密碼數(shù)據(jù)節(jié)點(diǎn)。
[0306] 例如,解碼裝置在MAC密鑰節(jié)點(diǎn)的起始標(biāo)記〈MACKey〉和結(jié)束標(biāo)記〈/MACKey〉之間 查找第二密碼數(shù)據(jù)節(jié)點(diǎn)的起始標(biāo)記〈xenc:CipherData>和結(jié)束標(biāo)記</xenc:CipherData>, 如果查找到,則確定從MAC密鑰節(jié)點(diǎn)中查找到第二密碼數(shù)據(jù)節(jié)點(diǎn);否則,確定沒(méi)有從MAC密 鑰節(jié)點(diǎn)中查找到第二密碼數(shù)據(jù)節(jié)點(diǎn)。
[0307] 步驟232,解碼裝置從第二密碼數(shù)據(jù)節(jié)點(diǎn)中查找第二密碼值節(jié)點(diǎn),如果查找到,則 執(zhí)行步驟233 ;否則,解碼裝置顯示錯(cuò)誤信息,結(jié)束流程。
[0308] 具體地,解碼裝置可以在第二密碼數(shù)據(jù)節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間查找第二 密碼值節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記,如果查找到,則確定從第二密碼數(shù)據(jù)節(jié)點(diǎn)中查找到第 二密碼值節(jié)點(diǎn);否則,確定沒(méi)有從第二密碼數(shù)據(jù)節(jié)點(diǎn)中查找到第二密碼值節(jié)點(diǎn)。
[0309] 例如,解碼裝置在第二密碼數(shù)據(jù)節(jié)點(diǎn)的起始標(biāo)記<xenc:CipherData>和結(jié)束標(biāo)記 </xenc:CipherData>之間查找第二密碼值節(jié)點(diǎn)的起始標(biāo)記<xenc:CipherValue>和結(jié)束標(biāo) 記</xenc:CipherValue>,如果查找到,則確定從第二密碼數(shù)據(jù)節(jié)點(diǎn)中查找到第二密碼值節(jié) 點(diǎn);否則,確定沒(méi)有從第二密碼數(shù)據(jù)節(jié)點(diǎn)中查找到第二密碼值節(jié)點(diǎn)。
[0310] 步驟233,解碼裝置獲取第二密碼值節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容作為MAC密鑰密文。
[0311] 具體地,解碼裝置可以獲取位于第二密碼值節(jié)點(diǎn)的起始標(biāo)記和結(jié)束標(biāo)記之間的文 本節(jié)點(diǎn)的文本內(nèi)容作為MAC密鑰密文。
[0312] 例如,解碼裝置獲取位于第二密碼值節(jié)點(diǎn)的起始標(biāo)記<xenc:CipherValue>和結(jié) 束標(biāo)記</xenc:CipherValue>之間的文本節(jié)點(diǎn)的文本內(nèi)容,S卩,"ESIzRFVmd4iZABEiM0RVZg Kn6WjLaTClsbeBMSvIhRejN9vJa2B01SaMrR7I5wSX" 作為 MAC 密鑰密文。
[0313] 步驟234,解碼裝置根據(jù)與獲取到的加密密鑰名對(duì)應(yīng)的密鑰,使用與獲取到的加密 密鑰算法信息對(duì)應(yīng)的策略,對(duì)獲取到的MAC密鑰密文進(jìn)行解密,得到MAC密鑰。
[0314] 例如,解碼裝置根據(jù)與通過(guò)步驟222獲取到的加密密鑰名"Pre-shared-key"對(duì)應(yīng) 的密鑰,使用與通過(guò)步驟230獲取到的加密密鑰算法信息"aesl28- CbC"對(duì)應(yīng)的策略,對(duì)通 過(guò)步驟 233 獲取到的 MAC 密鑰密文,S卩,"ESIzRFVmd4iZABEiM0RVZgKn6WjLaTClsbeBMSvIhR e jN9vJa2B01SaMrR7I5wSX" 進(jìn)行解密,得到 MAC 密鑰。
[0315] 步驟235,解碼裝置根據(jù)解密得到的MAC密鑰,對(duì)解密得到的密鑰明文進(jìn)行摘要處 理,得到摘要值。
[0316] 例如,解碼裝置根據(jù)通過(guò)步驟234解密得到的MAC密鑰,對(duì)通過(guò)步驟222解密得 到的密鑰明文"ΜΤΙζΝΑ == "進(jìn)行摘要處理,得到摘要值"Su+NvtQfmvfJzF6bmQiJqoLRExc _" 〇
[0317] 步驟236,解碼裝置判斷摘要處理得到的摘要值是否與從MAC值節(jié)點(diǎn)中獲取的摘 要值相同,如果是,則執(zhí)行步驟237 ;否則,解碼裝置顯示錯(cuò)誤信息,結(jié)束流程。
[0318] 例如,解碼裝置判斷出通過(guò)步驟235摘要處理得到的摘要值 "Su+NvtQfmvf JzF6bmQiJqoLRExc = "與通過(guò)步驟225從MAC值節(jié)點(diǎn)中獲取的摘要值 " Su+NvtQfmvfJzF6bmQiJqoLRExc = " 相同。
[0319] 步驟237,解碼裝置對(duì)解密得到的密鑰明文進(jìn)行保存。
[0320] 例如,解碼裝置對(duì)通過(guò)步驟222解密得到的密鑰明文"ΜΤΙζΝΑ == "進(jìn)行保存。
[0321] 本發(fā)明達(dá)到的有益效果:解碼裝置對(duì)統(tǒng)一格式的密鑰文件進(jìn)行解碼,得到密鑰信 息,使得認(rèn)證系統(tǒng)能夠?qū)Χ鄠€(gè)設(shè)備廠商配置的密鑰信息執(zhí)行統(tǒng)一的處理流程,減輕了認(rèn)證 系統(tǒng)的工作負(fù)擔(dān)。
[0322] 進(jìn)一步地,本發(fā)明的另一種實(shí)施方式中,解碼裝置從密鑰包節(jié)點(diǎn)中查找到密鑰節(jié) 點(diǎn)之后,還可以從密鑰節(jié)點(diǎn)中查找發(fā)行方節(jié)點(diǎn),獲取發(fā)行方節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲 取到的文本內(nèi)容作為發(fā)行方信息進(jìn)行保存。
[0323] 解碼裝置從密鑰包節(jié)點(diǎn)中查找到設(shè)備信息節(jié)點(diǎn)之后,還可以從設(shè)備信息節(jié)點(diǎn)中查 找設(shè)備用戶標(biāo)識(shí)節(jié)點(diǎn),獲取設(shè)備用戶標(biāo)識(shí)節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容 作為設(shè)備用戶標(biāo)識(shí)進(jìn)行保存。
[0324] 解碼裝置從密鑰文件的根節(jié)點(diǎn)中查找到密鑰包節(jié)點(diǎn)之后,還可以從密鑰包節(jié)點(diǎn)中 查找密碼模塊節(jié)點(diǎn),從密碼模塊節(jié)點(diǎn)中查找密碼模塊標(biāo)識(shí)節(jié)點(diǎn),獲取密碼模塊標(biāo)識(shí)節(jié)點(diǎn)的 子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作為密碼模塊標(biāo)識(shí)進(jìn)行保存。
[0325] 解碼裝置從密鑰包節(jié)點(diǎn)中查找到密鑰節(jié)點(diǎn)之后,還可以從密鑰節(jié)點(diǎn)中查找密鑰用 戶標(biāo)識(shí)節(jié)點(diǎn),獲取密鑰用戶標(biāo)識(shí)節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作為密鑰 用戶標(biāo)識(shí)進(jìn)行保存。
[0326] 解碼裝置從密鑰包節(jié)點(diǎn)中查找到密鑰節(jié)點(diǎn)之后,還可以從密鑰節(jié)點(diǎn)中查找策略節(jié) 點(diǎn),從策略節(jié)點(diǎn)中查找起始日期節(jié)點(diǎn)、終結(jié)日期節(jié)點(diǎn)和密鑰用途節(jié)點(diǎn),獲取起始日期節(jié)點(diǎn)的 子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作為密鑰起始日期進(jìn)行保存;獲取終結(jié)日期節(jié)點(diǎn) 的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作為密鑰終結(jié)日期進(jìn)行保存;獲取密鑰用途節(jié) 點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作為密鑰用途信息進(jìn)行保存。
[0327] 解碼裝置從密鑰包節(jié)點(diǎn)中查找到密鑰節(jié)點(diǎn)之后,還可以從密鑰節(jié)點(diǎn)中查找算法參 數(shù)節(jié)點(diǎn),從算法參數(shù)節(jié)點(diǎn)中查找響應(yīng)碼格式節(jié)點(diǎn),獲取響應(yīng)碼格式節(jié)點(diǎn)中的響應(yīng)碼長(zhǎng)度節(jié) 點(diǎn)的屬性值,將獲取到的屬性值作為響應(yīng)碼長(zhǎng)度進(jìn)行保存,獲取響應(yīng)碼格式節(jié)點(diǎn)中的響應(yīng) 碼編碼信息節(jié)點(diǎn)的屬性值,將獲取到的屬性值作為響應(yīng)碼編碼信息進(jìn)行保存;
[0328] 相應(yīng)地,解碼裝置從密鑰節(jié)點(diǎn)中查找到數(shù)據(jù)節(jié)點(diǎn)之后,還可以從數(shù)據(jù)節(jié)點(diǎn)中查找 時(shí)間節(jié)點(diǎn)、時(shí)間間隔節(jié)點(diǎn)和時(shí)間偏移節(jié)點(diǎn),從時(shí)間節(jié)點(diǎn)中查找第二明文節(jié)點(diǎn),獲取第二明文 節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作為時(shí)間因子的初始值進(jìn)行保存;從時(shí)間 間隔節(jié)點(diǎn)中查找第三明文節(jié)點(diǎn),獲取第三明文節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本 內(nèi)容作為時(shí)間間隔值進(jìn)行保存;從時(shí)間偏移節(jié)點(diǎn)中查找第四明文節(jié)點(diǎn),獲取第四明文節(jié)點(diǎn) 的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作為時(shí)間偏移量的初始值進(jìn)行保存。
[0329] 解碼裝置從密鑰節(jié)點(diǎn)中查找到數(shù)據(jù)節(jié)點(diǎn)之后,還可以從數(shù)據(jù)節(jié)點(diǎn)中查找計(jì)數(shù)器節(jié) 點(diǎn),從計(jì)數(shù)器節(jié)點(diǎn)中查找第五明文節(jié)點(diǎn),獲取第五明文節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到 的文本內(nèi)容作為事件因子的初始值進(jìn)行保存。
[0330] 基于上述實(shí)現(xiàn)密鑰信息編碼的裝置的工作方法,本發(fā)明實(shí)施例還提供了一種編碼 裝置,如圖7所示,包括:
[0331] 讀取模塊710,用于從密鑰信息的密鑰屬性列表中讀取廠商信息、設(shè)備序列號(hào)、密 鑰標(biāo)識(shí)、密鑰算法信息和密鑰明文;
[0332] 生成模塊720,用于生成密鑰容器節(jié)點(diǎn),將密鑰容器節(jié)點(diǎn)作為根節(jié)點(diǎn)添加到密鑰文 件中;生成密鑰包節(jié)點(diǎn),將密鑰包節(jié)點(diǎn)作為密鑰容器節(jié)點(diǎn)的子節(jié)點(diǎn)添加到密鑰容器節(jié)點(diǎn)中; 生成設(shè)備信息節(jié)點(diǎn)和密鑰節(jié)點(diǎn),將設(shè)備信息節(jié)點(diǎn)和密鑰節(jié)點(diǎn)作為密鑰包節(jié)點(diǎn)的子節(jié)點(diǎn)添加 到密鑰包節(jié)點(diǎn)中;
[0333] 生成廠商節(jié)點(diǎn)和序列號(hào)節(jié)點(diǎn),將廠商節(jié)點(diǎn)和序列號(hào)節(jié)點(diǎn)作為設(shè)備信息節(jié)點(diǎn)的子節(jié) 點(diǎn)添加到設(shè)備信息節(jié)點(diǎn)中;將讀取模塊710讀取到的廠商信息作為文本節(jié)點(diǎn)添加到廠商節(jié) 點(diǎn)中,將讀取模塊710讀取到的設(shè)備序列號(hào)作為文本節(jié)點(diǎn)添加到序列號(hào)節(jié)點(diǎn)中;
[0334] 根據(jù)讀取模塊710讀取到的密鑰算法信息生成密鑰算法節(jié)點(diǎn),根據(jù)讀取模塊710 讀取到的密鑰標(biāo)識(shí)生成密鑰標(biāo)識(shí)節(jié)點(diǎn),將密鑰標(biāo)識(shí)節(jié)點(diǎn)和密鑰算法節(jié)點(diǎn)作為屬性節(jié)點(diǎn)添加 到密鑰節(jié)點(diǎn)中;生成數(shù)據(jù)節(jié)點(diǎn),將數(shù)據(jù)節(jié)點(diǎn)作為密鑰節(jié)點(diǎn)的子節(jié)點(diǎn)添加到密鑰節(jié)點(diǎn)中;生 成密鑰值節(jié)點(diǎn),將密鑰值節(jié)點(diǎn)作為數(shù)據(jù)節(jié)點(diǎn)的子節(jié)點(diǎn)添加到數(shù)據(jù)節(jié)點(diǎn)中;
[0335] 添加模塊730,用于將讀取模塊710讀取到的密鑰明文或與密鑰明文對(duì)應(yīng)的密鑰 密文添加到密鑰值節(jié)點(diǎn)中。
[0336] 進(jìn)一步地,上述讀取模塊710,還用于從密鑰信息中讀取密鑰傳輸方式;
[0337] 相應(yīng)地,上述編碼裝置,還包括:
[0338] 第一判斷模塊740,用于判斷密鑰傳輸方式是否為明文傳輸;
[0339] 上述添加模塊730,具體用于在第一判斷模塊740判斷出密鑰傳輸方式為明文傳 輸時(shí),生成第一明文節(jié)點(diǎn),將第一明文節(jié)點(diǎn)作為密鑰值節(jié)點(diǎn)的子節(jié)點(diǎn)添加到密鑰值節(jié)點(diǎn)中, 將讀取模塊710讀取到的密鑰明文作為文本節(jié)點(diǎn)添加到第一明文節(jié)點(diǎn)中。
[0340] 進(jìn)一步地,上述讀取模塊710,還用于從密鑰信息中讀取加密密鑰名和加密密鑰算 法息;
[0341] 上述生成模塊720,還用于生成加密密鑰節(jié)點(diǎn),將加密密鑰節(jié)點(diǎn)作為密鑰容器節(jié)點(diǎn) 的子節(jié)點(diǎn)添加到密鑰容器節(jié)點(diǎn)中;生成密鑰名節(jié)點(diǎn),將密鑰名節(jié)點(diǎn)作為加密密鑰節(jié)點(diǎn)的子 節(jié)點(diǎn)添加到加密密鑰節(jié)點(diǎn)中;將讀取模塊710讀取到的加密密鑰名作為文本節(jié)點(diǎn)添加到密 鑰名節(jié)點(diǎn)中;
[0342] 上述添加模塊730,具體用于在第一判斷模塊740判斷出密鑰傳輸方式不是明文 傳輸時(shí),生成密文節(jié)點(diǎn),將密文節(jié)點(diǎn)作為密鑰值節(jié)點(diǎn)的子節(jié)點(diǎn)添加到密鑰值節(jié)點(diǎn)中;生成第 一加密方法節(jié)點(diǎn)和第一密碼數(shù)據(jù)節(jié)點(diǎn),將第一加密方法節(jié)點(diǎn)和第一密碼數(shù)據(jù)節(jié)點(diǎn)作為密文 節(jié)點(diǎn)的子節(jié)點(diǎn)添加到密文節(jié)點(diǎn)中;根據(jù)讀取模塊710讀取到的加密密鑰算法信息生成第一 加密密鑰算法節(jié)點(diǎn),將第一加密密鑰算法節(jié)點(diǎn)作為屬性節(jié)點(diǎn)添加到第一加密方法節(jié)點(diǎn)中; 生成第一密碼值節(jié)點(diǎn),將第一密碼值節(jié)點(diǎn)作為第一密碼數(shù)據(jù)節(jié)點(diǎn)的子節(jié)點(diǎn)添加到第一密碼 數(shù)據(jù)節(jié)點(diǎn)中;根據(jù)與加密密鑰名對(duì)應(yīng)的密鑰,使用與加密密鑰算法信息對(duì)應(yīng)的策略,對(duì)密鑰 明文進(jìn)行加密,將加密得到的密鑰密文作為文本節(jié)點(diǎn)添加到第一密碼值節(jié)點(diǎn)中。
[0343] 進(jìn)一步地,上述讀取模塊710,還用于從密鑰信息中讀取MAC算法信息、加密密鑰 算法信息和MAC密鑰;
[0344] 相應(yīng)地,上述生成模塊720,還用于生成MAC方法節(jié)點(diǎn),將MAC方法節(jié)點(diǎn)作為密鑰 容器節(jié)點(diǎn)的子節(jié)點(diǎn)添加到密鑰容器節(jié)點(diǎn)中;根據(jù)讀取模塊710讀取到的MAC算法信息生成 MAC算法節(jié)點(diǎn),將MAC算法節(jié)點(diǎn)作為屬性節(jié)點(diǎn)添加到MAC方法節(jié)點(diǎn)中;生成MAC密鑰節(jié)點(diǎn),將 MAC密鑰節(jié)點(diǎn)作為MAC方法節(jié)點(diǎn)的子節(jié)點(diǎn)添加到MAC方法節(jié)點(diǎn)中;生成第二加密方法節(jié)點(diǎn) 和第二密碼數(shù)據(jù)節(jié)點(diǎn),將第二加密方法節(jié)點(diǎn)和第二密碼數(shù)據(jù)節(jié)點(diǎn)作為子節(jié)點(diǎn)添加到MAC密 鑰節(jié)點(diǎn)中;根據(jù)讀取模塊710讀取到的加密密鑰算法信息生成第二加密密鑰算法節(jié)點(diǎn),將 第二加密密鑰算法節(jié)點(diǎn)作為屬性節(jié)點(diǎn)添加到第二加密方法節(jié)點(diǎn)中;生成第二密碼值節(jié)點(diǎn), 將第二密碼值節(jié)點(diǎn)作為第二密碼數(shù)據(jù)節(jié)點(diǎn)的子節(jié)點(diǎn)添加到第二密碼數(shù)據(jù)節(jié)點(diǎn)中;根據(jù)與讀 取模塊710讀取到的加密密鑰名對(duì)應(yīng)的密鑰,使用與加密密鑰算法信息對(duì)應(yīng)的策略,對(duì)讀 取模塊710讀取到的MAC密鑰進(jìn)行加密,將加密得到的密文作為文本節(jié)點(diǎn)添加到第二密碼 值節(jié)點(diǎn)中;生成MAC值節(jié)點(diǎn),將MAC值節(jié)點(diǎn)作為密鑰值節(jié)點(diǎn)的子節(jié)點(diǎn)添加到密鑰值節(jié)點(diǎn)中; 根據(jù)讀取模塊710讀取到的MAC密鑰,使用與讀取模塊710讀取到的MAC算法信息對(duì)應(yīng)的 策略,對(duì)密鑰明文進(jìn)行摘要處理,將得到的摘要值作為文本節(jié)點(diǎn)添加到MAC值節(jié)點(diǎn)中。
[0345] 進(jìn)一步地,上述編碼裝置,還包括:
[0346] 選擇模塊750,用于從密鑰信息中選取一個(gè)未被處理過(guò)的密鑰屬性列表作為當(dāng)前 列表;
[0347] 相應(yīng)地,上述讀取模塊710,具體用于從選擇模塊750選取的當(dāng)前列表中讀取廠商 信息、設(shè)備序列號(hào)、密鑰標(biāo)識(shí)、密鑰算法信息和密鑰明文;
[0348] 上述編碼裝置,還包括:
[0349] 第二判斷模塊760,用于在添加模塊730將密鑰明文或與密鑰明文對(duì)應(yīng)的密鑰密 文添加到密鑰值節(jié)點(diǎn)中后,判斷密鑰信息中是否存在未被處理過(guò)的密鑰屬性列表,如果是, 則觸發(fā)選擇模塊750從密鑰信息中選取一個(gè)未被處理過(guò)的密鑰屬性列表作為當(dāng)前列表;否 貝1J,確定編碼結(jié)束。
[0350] 相應(yīng)地,上述讀取模塊710,還用于從密鑰屬性列表中讀取發(fā)行方信息;
[0351] 上述生成模塊720,還用于生成發(fā)行方節(jié)點(diǎn),將發(fā)行方節(jié)點(diǎn)作為密鑰節(jié)點(diǎn)的子節(jié)點(diǎn) 添加到密鑰節(jié)點(diǎn)中,將發(fā)行方信息作為文本節(jié)點(diǎn)添加到發(fā)行方節(jié)點(diǎn)中。
[0352] 進(jìn)一步地,上述讀取模塊710,還用于從密鑰屬性列表中讀取設(shè)備用戶標(biāo)識(shí);
[0353] 相應(yīng)地,上述生成模塊720,還用于生成設(shè)備用戶標(biāo)識(shí)節(jié)點(diǎn),將設(shè)備用戶標(biāo)識(shí)節(jié)點(diǎn) 作為設(shè)備信息節(jié)點(diǎn)的子節(jié)點(diǎn)添加到設(shè)備信息節(jié)點(diǎn)中,將設(shè)備用戶標(biāo)識(shí)作為文本節(jié)點(diǎn)添加到 設(shè)備用戶標(biāo)識(shí)節(jié)點(diǎn)中。
[0354] 進(jìn)一步地,上述讀取模塊710,還用于從密鑰屬性列表中讀取密碼模塊標(biāo)識(shí),
[0355] 生成模塊720,還用于生成密碼模塊節(jié)點(diǎn),將密碼模塊節(jié)點(diǎn)作為密鑰包節(jié)點(diǎn)的子節(jié) 點(diǎn)添加到密鑰包節(jié)點(diǎn)中,生成密碼模塊標(biāo)識(shí)節(jié)點(diǎn),將密碼模塊標(biāo)識(shí)節(jié)點(diǎn)作為密碼模塊節(jié)點(diǎn) 的子節(jié)點(diǎn)添加到密碼模塊節(jié)點(diǎn)中,將密碼模塊標(biāo)識(shí)作為文本節(jié)點(diǎn)添加到密碼模塊標(biāo)識(shí)節(jié)點(diǎn) 中。
[0356] 進(jìn)一步地,上述讀取模塊710,還用于從密鑰屬性列表中讀取密鑰用戶標(biāo)識(shí);
[0357] 相應(yīng)地,上述生成模塊720,還用于生成密鑰用戶標(biāo)識(shí)節(jié)點(diǎn),將密鑰用戶標(biāo)識(shí)節(jié)點(diǎn) 作為密鑰節(jié)點(diǎn)的子節(jié)點(diǎn)添加到密鑰節(jié)點(diǎn)中,將密鑰用戶標(biāo)識(shí)作為文本節(jié)點(diǎn)添加到密鑰用戶 標(biāo)識(shí)節(jié)點(diǎn)中。
[0358] 進(jìn)一步地,上述讀取模塊710,還用于從密鑰屬性列表中讀取密鑰起始日期、密鑰 終結(jié)日期和密鑰用途信息;
[0359] 相應(yīng)地,上述生成模塊720,還用于生成策略節(jié)點(diǎn),將策略節(jié)點(diǎn)作為密鑰節(jié)點(diǎn)的子 節(jié)點(diǎn)添加到密鑰節(jié)點(diǎn)中,生成起始日期節(jié)點(diǎn)、終結(jié)日期節(jié)點(diǎn)和密鑰用途節(jié)點(diǎn),將起始日期節(jié) 點(diǎn)、終結(jié)日期節(jié)點(diǎn)和密鑰用途節(jié)點(diǎn)添加到策略節(jié)點(diǎn)中,將密鑰起始日期作為文本節(jié)點(diǎn)添加 到起始日期節(jié)點(diǎn)中,將密鑰終結(jié)日期作為文本節(jié)點(diǎn)添加到終結(jié)日期節(jié)點(diǎn)中,將密鑰用途信 息作為文本節(jié)點(diǎn)添加到密鑰用途節(jié)點(diǎn)中。
[0360] 進(jìn)一步地,上述讀取模塊710,還用于從密鑰屬性列表中讀取響應(yīng)碼長(zhǎng)度、響應(yīng)碼 編碼信息、時(shí)間因子的初始值、時(shí)間間隔值和時(shí)間偏移量的初始值;
[0361] 相應(yīng)地,上述生成模塊720,還用于生成算法參數(shù)節(jié)點(diǎn),將算法參數(shù)節(jié)點(diǎn)作為密鑰 節(jié)點(diǎn)的子節(jié)點(diǎn)添加到密鑰節(jié)點(diǎn)中,生成響應(yīng)碼格式節(jié)點(diǎn),將響應(yīng)碼格式節(jié)點(diǎn)作為算法參數(shù) 節(jié)點(diǎn)的子節(jié)點(diǎn)添加到算法參數(shù)節(jié)點(diǎn)中,根據(jù)響應(yīng)碼長(zhǎng)度生成響應(yīng)碼長(zhǎng)度節(jié)點(diǎn),根據(jù)響應(yīng)碼 編碼信息生成響應(yīng)碼編碼信息節(jié)點(diǎn),將響應(yīng)碼長(zhǎng)度節(jié)點(diǎn)和響應(yīng)碼編碼信息節(jié)點(diǎn)作為屬性節(jié) 點(diǎn)添加到響應(yīng)碼格式節(jié)點(diǎn)中;生成時(shí)間節(jié)點(diǎn),將時(shí)間節(jié)點(diǎn)作為數(shù)據(jù)節(jié)點(diǎn)的子節(jié)點(diǎn)添加到數(shù) 據(jù)節(jié)點(diǎn)中,生成第二明文節(jié)點(diǎn),將第二明文節(jié)點(diǎn)作為時(shí)間節(jié)點(diǎn)的子節(jié)點(diǎn)添加到時(shí)間節(jié)點(diǎn)中, 將時(shí)間因子的初始值作為文本節(jié)點(diǎn)添加到第二明文節(jié)點(diǎn)中;生成時(shí)間間隔節(jié)點(diǎn),將時(shí)間間 隔節(jié)點(diǎn)作為數(shù)據(jù)節(jié)點(diǎn)的子節(jié)點(diǎn)添加到數(shù)據(jù)節(jié)點(diǎn)中,生成第三明文節(jié)點(diǎn),將第三明文節(jié)點(diǎn)作 為時(shí)間間隔節(jié)點(diǎn)的子節(jié)點(diǎn)添加到時(shí)間間隔節(jié)點(diǎn)中,將時(shí)間間隔值作為文本節(jié)點(diǎn)添加到第三 明文節(jié)點(diǎn)中;生成時(shí)間偏移節(jié)點(diǎn),將時(shí)間偏移節(jié)點(diǎn)作為數(shù)據(jù)節(jié)點(diǎn)的子節(jié)點(diǎn)添加到數(shù)據(jù)節(jié)點(diǎn) 中,生成第四明文節(jié)點(diǎn),將第四明文節(jié)點(diǎn)作為時(shí)間偏移節(jié)點(diǎn)的子節(jié)點(diǎn)添加到時(shí)間偏移節(jié)點(diǎn) 中,將時(shí)間偏移量的初始值作為文本節(jié)點(diǎn)添加到第四明文節(jié)點(diǎn)中。
[0362] 進(jìn)一步地,上述讀取模塊710,還用于從密鑰屬性列表中讀取響應(yīng)碼長(zhǎng)度、響應(yīng)碼 編碼信息和事件因子的初始值;
[0363] 相應(yīng)地,上述生成模塊720,還用于生成算法參數(shù)節(jié)點(diǎn),將算法參數(shù)節(jié)點(diǎn)作為密鑰 節(jié)點(diǎn)的子節(jié)點(diǎn)添加到密鑰節(jié)點(diǎn)中,生成響應(yīng)碼格式節(jié)點(diǎn),將響應(yīng)碼格式節(jié)點(diǎn)作為算法參數(shù) 節(jié)點(diǎn)的子節(jié)點(diǎn)添加到算法參數(shù)節(jié)點(diǎn)中,根據(jù)響應(yīng)碼長(zhǎng)度生成響應(yīng)碼長(zhǎng)度節(jié)點(diǎn),根據(jù)響應(yīng)碼 編碼信息生成響應(yīng)碼編碼信息節(jié)點(diǎn),將響應(yīng)碼長(zhǎng)度節(jié)點(diǎn)和響應(yīng)碼編碼信息節(jié)點(diǎn)作為屬性節(jié) 點(diǎn)添加到響應(yīng)碼格式節(jié)點(diǎn)中;生成計(jì)數(shù)器節(jié)點(diǎn),將計(jì)數(shù)器節(jié)點(diǎn)作為數(shù)據(jù)節(jié)點(diǎn)的子節(jié)點(diǎn)添加 到數(shù)據(jù)節(jié)點(diǎn)中,生成第五明文節(jié)點(diǎn),將第五明文節(jié)點(diǎn)作為計(jì)數(shù)器節(jié)點(diǎn)的子節(jié)點(diǎn)添加到計(jì)數(shù) 器節(jié)點(diǎn)中,將事件因子的初始值作為文本節(jié)點(diǎn)添加到第五明文節(jié)點(diǎn)中。
[0364] 本發(fā)明達(dá)到的有益效果:編碼裝置將密鑰信息編碼為統(tǒng)一格式的密鑰文件,使得 認(rèn)證系統(tǒng)能夠?qū)Χ鄠€(gè)設(shè)備廠商配置的密鑰信息執(zhí)行統(tǒng)一的處理流程,減輕了認(rèn)證系統(tǒng)的工 作負(fù)擔(dān)。
[0365] 基于上述實(shí)現(xiàn)密鑰信息解碼的裝置的工作方法,本發(fā)明實(shí)施例還提供了一種解碼 裝置,如圖8所示,包括:
[0366] 查找模塊810,用于從密鑰文件的根節(jié)點(diǎn)中查找密鑰包節(jié)點(diǎn),如果查找到密鑰包節(jié) 點(diǎn),則從密鑰包節(jié)點(diǎn)中查找設(shè)備信息節(jié)點(diǎn),從設(shè)備信息節(jié)點(diǎn)中查找廠商節(jié)點(diǎn)、序列號(hào)節(jié)點(diǎn)和 密鑰節(jié)點(diǎn);如果查找到密鑰節(jié)點(diǎn),則從密鑰節(jié)點(diǎn)中查找數(shù)據(jù)節(jié)點(diǎn);如果查找到數(shù)據(jù)節(jié)點(diǎn),則 從數(shù)據(jù)節(jié)點(diǎn)中查找密鑰值節(jié)點(diǎn);
[0367] 第一獲取模塊820,用于在查找模塊810查找到廠商節(jié)點(diǎn)時(shí),獲取廠商節(jié)點(diǎn)的子節(jié) 點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作為廠商信息進(jìn)行保存;在查找模塊810查找到序列 號(hào)節(jié)點(diǎn)時(shí),獲取序列號(hào)節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作為設(shè)備序列號(hào)進(jìn) 行保存;在查找模塊810查找到密鑰節(jié)點(diǎn)時(shí),獲取密鑰節(jié)點(diǎn)中的密鑰算法節(jié)點(diǎn)的屬性值,將 獲取到的屬性值作為密鑰算法信息進(jìn)行保存;獲取密鑰節(jié)點(diǎn)中的密鑰標(biāo)識(shí)節(jié)點(diǎn)的屬性值, 將獲取到的屬性值作為密鑰標(biāo)識(shí)進(jìn)行保存;
[0368] 第二獲取模塊830,用于在查找模塊810查找到密鑰值節(jié)點(diǎn)時(shí),從密鑰值節(jié)點(diǎn)中獲 取密鑰明文進(jìn)行保存,
[0369] 或者,從密鑰值節(jié)點(diǎn)中獲取密鑰密文,對(duì)密鑰密文進(jìn)行解密,對(duì)解密得到的密鑰明 文進(jìn)行保存;
[0370] 顯示模塊840,用于在查找模塊810沒(méi)有查找到密鑰包節(jié)點(diǎn)、密鑰節(jié)點(diǎn)、數(shù)據(jù)節(jié)點(diǎn) 或密鑰值節(jié)點(diǎn)時(shí),顯示錯(cuò)誤信息。
[0371] 具體地,上述第二獲取模塊830,具體用于從密鑰值節(jié)點(diǎn)中查找明文節(jié)點(diǎn),獲取明 文節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作為密鑰明文進(jìn)行保存。
[0372] 或者,
[0373] 從密鑰值節(jié)點(diǎn)中查找密文節(jié)點(diǎn),從密文節(jié)點(diǎn)中查找第一加密方法節(jié)點(diǎn)和第一密碼 數(shù)據(jù)節(jié)點(diǎn),獲取第一加密方法節(jié)點(diǎn)中的第一加密密鑰算法節(jié)點(diǎn)的屬性值作為加密密鑰算法 信息,從第一密碼數(shù)據(jù)節(jié)點(diǎn)中查找第一密碼值節(jié)點(diǎn),獲取第一密碼值節(jié)點(diǎn)的子節(jié)點(diǎn)的文本 內(nèi)容作為密鑰密文;
[0374] 從密鑰文件的根節(jié)點(diǎn)中查找加密密鑰節(jié)點(diǎn),從加密密鑰節(jié)點(diǎn)中查找密鑰名節(jié)點(diǎn), 獲取密鑰名節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容作為加密密鑰名,根據(jù)與加密密鑰名對(duì)應(yīng)的密鑰,使 用與加密密鑰算法信息對(duì)應(yīng)的策略,對(duì)密鑰密文進(jìn)行解密,得到密鑰明文。
[0375] 進(jìn)一步地,上述查找模塊810,還用于在從數(shù)據(jù)節(jié)點(diǎn)中查找到密鑰值節(jié)點(diǎn)之后,從 密鑰值節(jié)點(diǎn)中查找MAC值節(jié)點(diǎn),從密鑰文件的根節(jié)點(diǎn)中查找MAC方法節(jié)點(diǎn),從MAC方法節(jié)點(diǎn) 中查找MAC密鑰節(jié)點(diǎn),從MAC密鑰節(jié)點(diǎn)中查找第二加密方法節(jié)點(diǎn)和第二密碼數(shù)據(jù)節(jié)點(diǎn),從第 二密碼數(shù)據(jù)節(jié)點(diǎn)中查找第二密碼值節(jié)點(diǎn);
[0376] 相應(yīng)地,上述第一獲取模塊820,還用于獲取MAC值節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容作為 摘要值,獲取MAC方法節(jié)點(diǎn)中的MAC算法節(jié)點(diǎn)的屬性值作為MAC算法信息,獲取第二加密方 法節(jié)點(diǎn)中的第二加密密鑰算法節(jié)點(diǎn)的屬性值作為加密密鑰算法信息,獲取第二密碼值節(jié)點(diǎn) 的子節(jié)點(diǎn)的文本內(nèi)容作為MAC密鑰密文,根據(jù)加密密鑰名對(duì)應(yīng)的密鑰,使用與加密密鑰算 法信息對(duì)應(yīng)的策略,對(duì)MAC密鑰密文進(jìn)行解密,得到MAC密鑰;
[0377] 上述解碼裝置,還包括:
[0378] 摘要模塊850,用于根據(jù)第一獲取模塊820獲取到的MAC密鑰,對(duì)密鑰明文進(jìn)行摘 要處理;
[0379] 判斷模塊860,用于判斷摘要模塊850摘要處理得到的摘要值是否與第一獲取模 塊820從MAC值節(jié)點(diǎn)中獲取的摘要值相同;
[0380] 第二獲取模塊830,具體用于從密鑰值節(jié)點(diǎn)中獲取密鑰密文,對(duì)密鑰密文進(jìn)行解 密,得到密鑰明文,并在判斷模塊860判斷出摘要模塊850摘要處理得到的摘要值與第一獲 取模塊820從密鑰值節(jié)點(diǎn)中的MAC值節(jié)點(diǎn)中獲取的摘要值相同時(shí),對(duì)密鑰明文進(jìn)行保存;
[0381] 顯示模塊840,還用于在判斷模塊860判斷出摘要模塊850摘要處理得到的摘要值 與第一獲取模塊820從密鑰值節(jié)點(diǎn)中的MAC值節(jié)點(diǎn)中獲取的摘要值不同時(shí),顯示錯(cuò)誤信息。
[0382] 進(jìn)一步地,上述查找模塊810,還用于在從密鑰包節(jié)點(diǎn)中查找到密鑰節(jié)點(diǎn)之后,從 密鑰節(jié)點(diǎn)中查找發(fā)行方節(jié)點(diǎn);
[0383] 相應(yīng)地,上述第一獲取模塊820,還用于在查找模塊810查找到發(fā)行方節(jié)點(diǎn)時(shí),獲 取發(fā)行方節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作為發(fā)行方信息進(jìn)行保存。
[0384] 進(jìn)一步地,上述查找模塊810,還用于在從密鑰包節(jié)點(diǎn)中查找到設(shè)備信息節(jié)點(diǎn)之 后,從設(shè)備信息節(jié)點(diǎn)中查找設(shè)備用戶標(biāo)識(shí)節(jié)點(diǎn);
[0385] 相應(yīng)地,上述第一獲取模塊820,還用于在查找模塊810查找到設(shè)備用戶標(biāo)識(shí)節(jié)點(diǎn) 時(shí),獲取設(shè)備用戶標(biāo)識(shí)節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作為設(shè)備用戶標(biāo)識(shí) 進(jìn)行保存。
[0386] 進(jìn)一步地,上述查找模塊810,還用于在從密鑰文件的根節(jié)點(diǎn)中查找到密鑰包節(jié)點(diǎn) 之后,從密鑰包節(jié)點(diǎn)中查找密碼模塊節(jié)點(diǎn),從密碼模塊節(jié)點(diǎn)中查找密碼模塊標(biāo)識(shí)節(jié)點(diǎn);
[0387] 相應(yīng)地,上述第一獲取模塊820,還用于在查找模塊810查找到密碼模塊標(biāo)識(shí)節(jié)點(diǎn) 時(shí),獲取密碼模塊標(biāo)識(shí)節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作為密碼模塊標(biāo)識(shí) 進(jìn)行保存。
[0388] 進(jìn)一步地,上述查找模塊810,還用于在從密鑰包節(jié)點(diǎn)中查找到密鑰節(jié)點(diǎn)之后,從 密鑰節(jié)點(diǎn)中查找密鑰用戶標(biāo)識(shí)節(jié)點(diǎn);
[0389] 相應(yīng)地,上述第一獲取模塊820,還用于在查找模塊810查找到密鑰用戶標(biāo)識(shí)節(jié)點(diǎn) 時(shí),獲取密鑰用戶標(biāo)識(shí)節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作為密鑰用戶標(biāo)識(shí) 進(jìn)行保存。
[0390] 進(jìn)一步地,上述查找模塊810,還用于在從密鑰包節(jié)點(diǎn)中查找到密鑰節(jié)點(diǎn)之后,從 密鑰節(jié)點(diǎn)中查找策略節(jié)點(diǎn),從策略節(jié)點(diǎn)中查找起始日期節(jié)點(diǎn)、終結(jié)日期節(jié)點(diǎn)和密鑰用途節(jié) 占.
[0391] 相應(yīng)地,上述第一獲取模塊820,還用于在查找模塊810查找到起始日期節(jié)點(diǎn)時(shí), 獲取起始日期節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作為密鑰起始日期進(jìn)行保 存;在查找模塊810查找到終結(jié)日期節(jié)點(diǎn)時(shí),獲取終結(jié)日期節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲 取到的文本內(nèi)容作為密鑰終結(jié)日期進(jìn)行保存;在查找模塊810查找到密鑰用途節(jié)點(diǎn)時(shí),獲 取密鑰用途節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作為密鑰用途信息進(jìn)行保存。
[0392] 進(jìn)一步地,上述查找模塊810,還用于在從密鑰包節(jié)點(diǎn)中查找到密鑰節(jié)點(diǎn)之后,從 密鑰節(jié)點(diǎn)中查找算法參數(shù)節(jié)點(diǎn),從算法參數(shù)節(jié)點(diǎn)中查找響應(yīng)碼格式節(jié)點(diǎn);在從密鑰節(jié)點(diǎn)中 查找到數(shù)據(jù)節(jié)點(diǎn)之后,從數(shù)據(jù)節(jié)點(diǎn)中查找時(shí)間節(jié)點(diǎn)、時(shí)間間隔節(jié)點(diǎn)和時(shí)間偏移節(jié)點(diǎn),從時(shí)間 節(jié)點(diǎn)中查找第二明文節(jié)點(diǎn),從時(shí)間間隔節(jié)點(diǎn)中查找第三明文節(jié)點(diǎn),從時(shí)間偏移節(jié)點(diǎn)中查找 第四明文節(jié)點(diǎn);
[0393] 相應(yīng)地,上述第一獲取模塊820,還用于在查找模塊810查找到響應(yīng)碼格式節(jié)點(diǎn) 時(shí),獲取響應(yīng)碼格式節(jié)點(diǎn)中的響應(yīng)碼長(zhǎng)度節(jié)點(diǎn)的屬性值,將獲取到的屬性值作為響應(yīng)碼長(zhǎng) 度進(jìn)行保存,獲取響應(yīng)碼格式節(jié)點(diǎn)中的響應(yīng)碼編碼信息節(jié)點(diǎn)的屬性值,將獲取到的屬性值 作為響應(yīng)碼編碼信息進(jìn)行保存;在查找模塊810查找到第二明文節(jié)點(diǎn)時(shí),獲取第二明文節(jié) 點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作為時(shí)間因子的初始值進(jìn)行保存;在查找模 塊810查找到第三明文節(jié)點(diǎn)時(shí),獲取第三明文節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本 內(nèi)容作為時(shí)間間隔值進(jìn)行保存;在查找模塊810查找到第四明文節(jié)點(diǎn)時(shí),獲取第四明文節(jié) 點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作為時(shí)間偏移量的初始值進(jìn)行保存。
[0394] 進(jìn)一步地,上述查找模塊810,還用于在從密鑰包節(jié)點(diǎn)中查找到密鑰節(jié)點(diǎn)之后, 從密鑰節(jié)點(diǎn)中查找算法參數(shù)節(jié)點(diǎn),從算法參數(shù)節(jié)點(diǎn)中查找響應(yīng)碼格式節(jié)點(diǎn);在從密鑰節(jié)點(diǎn) 中查找到數(shù)據(jù)節(jié)點(diǎn)之后,從數(shù)據(jù)節(jié)點(diǎn)中查找計(jì)數(shù)器節(jié)點(diǎn),從計(jì)數(shù)器節(jié)點(diǎn)中查找第五明文節(jié) 占.
[0395] 相應(yīng)地,上述第一獲取模塊820,還用于在查找模塊810查找到響應(yīng)碼格式節(jié)點(diǎn) 時(shí),獲取響應(yīng)碼格式節(jié)點(diǎn)中的響應(yīng)碼長(zhǎng)度節(jié)點(diǎn)的屬性值,將獲取到的屬性值作為響應(yīng)碼長(zhǎng) 度進(jìn)行保存,獲取響應(yīng)碼格式節(jié)點(diǎn)中的響應(yīng)碼編碼信息節(jié)點(diǎn)的屬性值,將獲取到的屬性值 作為響應(yīng)碼編碼信息進(jìn)行保存;在查找模塊810查找到第五明文節(jié)點(diǎn)時(shí),獲取第五明文節(jié) 點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作為事件因子的初始值進(jìn)行保存。
[0396] 本發(fā)明達(dá)到的有益效果:解碼裝置對(duì)統(tǒng)一格式的密鑰文件進(jìn)行解碼,得到密鑰信 息,使得認(rèn)證系統(tǒng)能夠?qū)Χ鄠€(gè)設(shè)備廠商配置的密鑰信息執(zhí)行統(tǒng)一的處理流程,減輕了認(rèn)證 系統(tǒng)的工作負(fù)擔(dān)。
[0397] 結(jié)合本文中所公開(kāi)的實(shí)施例描述的方法中的步驟可以直接用硬件、處理器執(zhí)行的 軟件模塊,或者二者的結(jié)合來(lái)實(shí)施。軟件模塊可以置于隨機(jī)存儲(chǔ)器(RAM)、內(nèi)存、只讀存儲(chǔ)器 (ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤(pán)、可移動(dòng)磁盤(pán)、CD-ROM、或【技術(shù)領(lǐng)域】 內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。
[0398] 以上所述,僅為本發(fā)明的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何 熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵 蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【權(quán)利要求】
1. 一種實(shí)現(xiàn)密鑰信息編碼的裝置的工作方法,其特征在于,包括以下步驟: 51、 編碼裝置生成密鑰容器節(jié)點(diǎn),將所述密鑰容器節(jié)點(diǎn)作為根節(jié)點(diǎn)添加到密鑰文件 中; 52、 所述編碼裝置生成密鑰包節(jié)點(diǎn),將所述密鑰包節(jié)點(diǎn)作為所述密鑰容器節(jié)點(diǎn)的子節(jié) 點(diǎn)添加到所述密鑰容器節(jié)點(diǎn)中; 53、 所述編碼裝置生成設(shè)備信息節(jié)點(diǎn),將所述設(shè)備信息節(jié)點(diǎn)作為所述密鑰包節(jié)點(diǎn)的子 節(jié)點(diǎn)添加到所述密鑰包節(jié)點(diǎn)中; 54、 所述編碼裝置生成廠商節(jié)點(diǎn)和序列號(hào)節(jié)點(diǎn),將所述廠商節(jié)點(diǎn)和所述序列號(hào)節(jié)點(diǎn)作 為所述設(shè)備信息節(jié)點(diǎn)的子節(jié)點(diǎn)添加到所述設(shè)備信息節(jié)點(diǎn)中,從密鑰信息的密鑰屬性列表中 讀取廠商信息和設(shè)備序列號(hào),將所述廠商信息作為文本節(jié)點(diǎn)添加到所述廠商節(jié)點(diǎn)中,將所 述設(shè)備序列號(hào)作為文本節(jié)點(diǎn)添加到所述序列號(hào)節(jié)點(diǎn)中; 55、 所述編碼裝置生成密鑰節(jié)點(diǎn),將所述密鑰節(jié)點(diǎn)作為所述密鑰包節(jié)點(diǎn)的子節(jié)點(diǎn)添加 到所述密鑰包節(jié)點(diǎn)中; 56、 所述編碼裝置從所述密鑰屬性列表中讀取密鑰標(biāo)識(shí)、密鑰算法信息和密鑰明文,根 據(jù)所述密鑰標(biāo)識(shí)生成密鑰標(biāo)識(shí)節(jié)點(diǎn),根據(jù)所述密鑰算法信息生成密鑰算法節(jié)點(diǎn),將所述密 鑰標(biāo)識(shí)節(jié)點(diǎn)和所述密鑰算法節(jié)點(diǎn)作為屬性節(jié)點(diǎn)添加到所述密鑰節(jié)點(diǎn)中;所述編碼裝置生成 數(shù)據(jù)節(jié)點(diǎn),將所述數(shù)據(jù)節(jié)點(diǎn)作為所述密鑰節(jié)點(diǎn)的子節(jié)點(diǎn)添加到所述密鑰節(jié)點(diǎn)中;所述編碼 裝置生成密鑰值節(jié)點(diǎn),將所述密鑰值節(jié)點(diǎn)作為所述數(shù)據(jù)節(jié)點(diǎn)的子節(jié)點(diǎn)添加到所述數(shù)據(jù)節(jié)點(diǎn) 中,將所述密鑰明文或與所述密鑰明文對(duì)應(yīng)的密鑰密文添加到所述密鑰值節(jié)點(diǎn)中。
2. 如權(quán)利要求1所述的方法,其特征在于,所述編碼裝置將所述密鑰明文添加到所述 密鑰值節(jié)點(diǎn)中之前,還包括: 所述編碼裝置從所述密鑰信息中讀取密鑰傳輸方式,并判斷出所述密鑰傳輸方式為明 文傳輸; 所述編碼裝置將所述密鑰明文添加到所述密鑰值節(jié)點(diǎn)中,具體為: 所述編碼裝置生成第一明文節(jié)點(diǎn),將所述第一明文節(jié)點(diǎn)作為所述密鑰值節(jié)點(diǎn)的子節(jié)點(diǎn) 添加到所述密鑰值節(jié)點(diǎn)中,將所述密鑰明文作為文本節(jié)點(diǎn)添加到所述第一明文節(jié)點(diǎn)中。
3. 如權(quán)利要求1所述的方法,其特征在于,所述步驟S1之后,還包括: 所述編碼裝置從所述密鑰信息中讀取密鑰傳輸方式,并判斷出所述密鑰傳輸方式不是 明文傳輸; 所述編碼裝置生成加密密鑰節(jié)點(diǎn),將所述加密密鑰節(jié)點(diǎn)作為所述密鑰容器節(jié)點(diǎn)的子節(jié) 點(diǎn)添加到所述密鑰容器節(jié)點(diǎn)中;所述編碼裝置生成密鑰名節(jié)點(diǎn),將所述密鑰名節(jié)點(diǎn)作為所 述加密密鑰節(jié)點(diǎn)的子節(jié)點(diǎn)添加到所述加密密鑰節(jié)點(diǎn)中;所述編碼裝置從所述密鑰信息中讀 取加密密鑰名,將所述加密密鑰名作為文本節(jié)點(diǎn)添加到所述密鑰名節(jié)點(diǎn)中; 所述編碼裝置將與所述密鑰明文對(duì)應(yīng)的密鑰密文添加到所述密鑰值節(jié)點(diǎn)中,具體為: 所述編碼裝置生成密文節(jié)點(diǎn),將所述密文節(jié)點(diǎn)作為所述密鑰值節(jié)點(diǎn)的子節(jié)點(diǎn)添加到所 述密鑰值節(jié)點(diǎn)中; 所述編碼裝置生成第一加密方法節(jié)點(diǎn)和第一密碼數(shù)據(jù)節(jié)點(diǎn),將所述第一加密方法節(jié)點(diǎn) 和所述第一密碼數(shù)據(jù)節(jié)點(diǎn)作為所述密文節(jié)點(diǎn)的子節(jié)點(diǎn)添加到所述密文節(jié)點(diǎn)中;所述編碼 裝置從所述密鑰信息中讀取加密密鑰算法信息,根據(jù)所述加密密鑰算法信息生成第一加密 密鑰算法節(jié)點(diǎn),將所述第一加密密鑰算法節(jié)點(diǎn)作為屬性節(jié)點(diǎn)添加到所述第一加密方法節(jié)點(diǎn) 中;所述編碼裝置生成第一密碼值節(jié)點(diǎn),將所述第一密碼值節(jié)點(diǎn)作為所述第一密碼數(shù)據(jù)節(jié) 點(diǎn)的子節(jié)點(diǎn)添加到所述第一密碼數(shù)據(jù)節(jié)點(diǎn)中;所述編碼裝置根據(jù)與所述加密密鑰名對(duì)應(yīng)的 密鑰,使用與所述加密密鑰算法信息對(duì)應(yīng)的策略,對(duì)所述密鑰明文進(jìn)行加密,將加密得到的 密鑰密文作為文本節(jié)點(diǎn)添加到所述第一密碼值節(jié)點(diǎn)中。
4. 如權(quán)利要求3所述的方法,其特征在于,所述步驟S2之前,還包括: 所述編碼裝置生成MAC方法節(jié)點(diǎn),將所述MAC方法節(jié)點(diǎn)作為所述密鑰容器節(jié)點(diǎn)的子節(jié) 點(diǎn)添加到所述密鑰容器節(jié)點(diǎn)中; 所述編碼裝置從所述密鑰信息中讀取MAC算法信息,根據(jù)所述MAC算法信息生成MAC 算法節(jié)點(diǎn),將所述MAC算法節(jié)點(diǎn)作為屬性節(jié)點(diǎn)添加到所述MAC方法節(jié)點(diǎn)中;所述編碼裝置 生成MAC密鑰節(jié)點(diǎn),將所述MAC密鑰節(jié)點(diǎn)作為所述MAC方法節(jié)點(diǎn)的子節(jié)點(diǎn)添加到所述MAC 方法節(jié)點(diǎn)中;所述編碼裝置生成第二加密方法節(jié)點(diǎn)和第二密碼數(shù)據(jù)節(jié)點(diǎn),將所述第二加密 方法節(jié)點(diǎn)和所述第二密碼數(shù)據(jù)節(jié)點(diǎn)作為子節(jié)點(diǎn)添加到所述MAC密鑰節(jié)點(diǎn)中;所述編碼裝置 從所述密鑰信息中讀取加密密鑰算法信息,根據(jù)所述加密密鑰算法信息生成第二加密密鑰 算法節(jié)點(diǎn),將所述第二加密密鑰算法節(jié)點(diǎn)作為屬性節(jié)點(diǎn)添加到所述第二加密方法節(jié)點(diǎn)中; 所述編碼裝置生成第二密碼值節(jié)點(diǎn),將所述第二密碼值節(jié)點(diǎn)作為所述第二密碼數(shù)據(jù)節(jié)點(diǎn)的 子節(jié)點(diǎn)添加到所述第二密碼數(shù)據(jù)節(jié)點(diǎn)中;所述編碼裝置從所述密鑰信息中讀取MAC密鑰, 根據(jù)與所述加密密鑰名對(duì)應(yīng)的密鑰,使用與所述加密密鑰算法信息對(duì)應(yīng)的策略,對(duì)所述MAC 密鑰進(jìn)行加密,將加密得到的密文作為文本節(jié)點(diǎn)添加到所述第二密碼值節(jié)點(diǎn)中; 所述編碼裝置生成密鑰值節(jié)點(diǎn)之后,還包括: 所述編碼裝置生成MAC值節(jié)點(diǎn),將所述MAC值節(jié)點(diǎn)作為所述密鑰值節(jié)點(diǎn)的子節(jié)點(diǎn)添加 到所述密鑰值節(jié)點(diǎn)中; 所述編碼裝置根據(jù)所述MAC密鑰,使用與所述MAC算法信息對(duì)應(yīng)的策略,對(duì)所述密鑰明 文進(jìn)行摘要處理,將得到的摘要值作為文本節(jié)點(diǎn)添加到所述MAC值節(jié)點(diǎn)中。
5. 如權(quán)利要求1所述的方法,其特征在于,所述步驟S2之前,還包括: S7、所述編碼裝置從密鑰信息中選取一個(gè)未被處理過(guò)的密鑰屬性列表作為當(dāng)前列表; 所述編碼裝置從密鑰信息的密鑰屬性列表中讀取廠商信息和設(shè)備序列號(hào),具體為: 所述編碼裝置從當(dāng)前列表中讀取廠商信息和設(shè)備序列號(hào); 所述編碼裝置從所述密鑰屬性列表中讀取密鑰標(biāo)識(shí)、密鑰算法信息和密鑰明文,具體 為: 所述編碼裝置從當(dāng)前列表中讀取密鑰標(biāo)識(shí)、密鑰算法信息和密鑰明文; 所述步驟S6之后,還包括: 所述編碼裝置判斷所述密鑰信息中是否存在未被處理過(guò)的密鑰屬性列表,如果是,則 返回步驟S7;否則,結(jié)束流程。
6. 如權(quán)利要求1所述的方法,其特征在于,所述編碼裝置生成密鑰節(jié)點(diǎn)之后,還包括: 所述編碼裝置生成發(fā)行方節(jié)點(diǎn),將所述發(fā)行方節(jié)點(diǎn)作為所述密鑰節(jié)點(diǎn)的子節(jié)點(diǎn)添加到 所述密鑰節(jié)點(diǎn)中,從所述密鑰屬性列表中讀取發(fā)行方信息,將所述發(fā)行方信息作為文本節(jié) 點(diǎn)添加到所述發(fā)行方節(jié)點(diǎn)中。
7. 如權(quán)利要求1所述的方法,其特征在于,所述編碼裝置生成設(shè)備信息節(jié)點(diǎn)之后,還包 括: 所述編碼裝置生成設(shè)備用戶標(biāo)識(shí)節(jié)點(diǎn),將所述設(shè)備用戶標(biāo)識(shí)節(jié)點(diǎn)作為所述設(shè)備信息節(jié) 點(diǎn)的子節(jié)點(diǎn)添加到所述設(shè)備信息節(jié)點(diǎn)中,從所述密鑰屬性列表中讀取設(shè)備用戶標(biāo)識(shí),將所 述設(shè)備用戶標(biāo)識(shí)作為文本節(jié)點(diǎn)添加到所述設(shè)備用戶標(biāo)識(shí)節(jié)點(diǎn)中。
8. 如權(quán)利要求1所述的方法,其特征在于,所述編碼裝置生成密鑰包節(jié)點(diǎn)之后,還包 括: 所述編碼裝置生成密碼模塊節(jié)點(diǎn),將所述密碼模塊節(jié)點(diǎn)作為所述密鑰包節(jié)點(diǎn)的子節(jié)點(diǎn) 添加到所述密鑰包節(jié)點(diǎn)中,生成密碼模塊標(biāo)識(shí)節(jié)點(diǎn),將所述密碼模塊標(biāo)識(shí)節(jié)點(diǎn)作為所述密 碼模塊節(jié)點(diǎn)的子節(jié)點(diǎn)添加到所述密碼模塊節(jié)點(diǎn)中,從所述密鑰屬性列表中讀取密碼模塊標(biāo) 識(shí),將所述密碼模塊標(biāo)識(shí)作為文本節(jié)點(diǎn)添加到所述密碼模塊標(biāo)識(shí)節(jié)點(diǎn)中。
9. 如權(quán)利要求1所述的方法,其特征在于,所述編碼裝置生成密鑰節(jié)點(diǎn)之后,還包括: 所述編碼裝置生成密鑰用戶標(biāo)識(shí)節(jié)點(diǎn),將所述密鑰用戶標(biāo)識(shí)節(jié)點(diǎn)作為所述密鑰節(jié)點(diǎn)的 子節(jié)點(diǎn)添加到所述密鑰節(jié)點(diǎn)中,從所述密鑰屬性列表中讀取密鑰用戶標(biāo)識(shí),將所述密鑰用 戶標(biāo)識(shí)作為文本節(jié)點(diǎn)添加到所述密鑰用戶標(biāo)識(shí)節(jié)點(diǎn)中。
10. 如權(quán)利要求1所述的方法,其特征在于,所述編碼裝置生成密鑰節(jié)點(diǎn)之后,還包括: 所述編碼裝置生成策略節(jié)點(diǎn),將所述策略節(jié)點(diǎn)作為所述密鑰節(jié)點(diǎn)的子節(jié)點(diǎn)添加到所述 密鑰節(jié)點(diǎn)中,生成起始日期節(jié)點(diǎn)、終結(jié)日期節(jié)點(diǎn)和密鑰用途節(jié)點(diǎn),將所述起始日期節(jié)點(diǎn)、所 述終結(jié)日期節(jié)點(diǎn)和所述密鑰用途節(jié)點(diǎn)添加到所述策略節(jié)點(diǎn)中,從所述密鑰屬性列表中讀取 密鑰起始日期、密鑰終結(jié)日期和密鑰用途信息,將所述密鑰起始日期作為文本節(jié)點(diǎn)添加到 所述起始日期節(jié)點(diǎn)中,將所述密鑰終結(jié)日期作為文本節(jié)點(diǎn)添加到所述終結(jié)日期節(jié)點(diǎn)中,將 所述密鑰用途信息作為文本節(jié)點(diǎn)添加到所述密鑰用途節(jié)點(diǎn)中。
11. 如權(quán)利要求1所述的方法,其特征在于,所述編碼裝置生成密鑰節(jié)點(diǎn)之后,還包括: 所述編碼裝置生成算法參數(shù)節(jié)點(diǎn),將所述算法參數(shù)節(jié)點(diǎn)作為所述密鑰節(jié)點(diǎn)的子節(jié)點(diǎn)添 加到所述密鑰節(jié)點(diǎn)中,生成響應(yīng)碼格式節(jié)點(diǎn),將所述響應(yīng)碼格式節(jié)點(diǎn)作為所述算法參數(shù)節(jié) 點(diǎn)的子節(jié)點(diǎn)添加到所述算法參數(shù)節(jié)點(diǎn)中,從所述密鑰屬性列表中讀取響應(yīng)碼長(zhǎng)度和響應(yīng)碼 編碼信息,根據(jù)所述響應(yīng)碼長(zhǎng)度生成響應(yīng)碼長(zhǎng)度節(jié)點(diǎn),根據(jù)所述響應(yīng)碼編碼信息生成響應(yīng) 碼編碼信息節(jié)點(diǎn),將所述響應(yīng)碼長(zhǎng)度節(jié)點(diǎn)和所述響應(yīng)碼編碼信息節(jié)點(diǎn)作為屬性節(jié)點(diǎn)添加到 所述響應(yīng)碼格式節(jié)點(diǎn)中; 所述編碼裝置生成數(shù)據(jù)節(jié)點(diǎn)之后,還包括: 所述編碼裝置生成時(shí)間節(jié)點(diǎn),將所述時(shí)間節(jié)點(diǎn)作為所述數(shù)據(jù)節(jié)點(diǎn)的子節(jié)點(diǎn)添加到所述 數(shù)據(jù)節(jié)點(diǎn)中,生成第二明文節(jié)點(diǎn),將所述第二明文節(jié)點(diǎn)作為所述時(shí)間節(jié)點(diǎn)的子節(jié)點(diǎn)添加到 所述時(shí)間節(jié)點(diǎn)中,從所述密鑰屬性列表中讀取時(shí)間因子的初始值,將所述時(shí)間因子的初始 值作為文本節(jié)點(diǎn)添加到所述第二明文節(jié)點(diǎn)中; 所述編碼裝置生成時(shí)間間隔節(jié)點(diǎn),將所述時(shí)間間隔節(jié)點(diǎn)作為所述數(shù)據(jù)節(jié)點(diǎn)的子節(jié)點(diǎn)添 加到所述數(shù)據(jù)節(jié)點(diǎn)中,生成第三明文節(jié)點(diǎn),將所述第三明文節(jié)點(diǎn)作為所述時(shí)間間隔節(jié)點(diǎn)的 子節(jié)點(diǎn)添加到所述時(shí)間間隔節(jié)點(diǎn)中,從所述密鑰屬性列表中讀取時(shí)間間隔值,將所述時(shí)間 間隔值作為文本節(jié)點(diǎn)添加到所述第三明文節(jié)點(diǎn)中; 所述編碼裝置生成時(shí)間偏移節(jié)點(diǎn),將所述時(shí)間偏移節(jié)點(diǎn)作為所述數(shù)據(jù)節(jié)點(diǎn)的子節(jié)點(diǎn)添 加到所述數(shù)據(jù)節(jié)點(diǎn)中,生成第四明文節(jié)點(diǎn),將所述第四明文節(jié)點(diǎn)作為所述時(shí)間偏移節(jié)點(diǎn)的 子節(jié)點(diǎn)添加到所述時(shí)間偏移節(jié)點(diǎn)中,從所述密鑰屬性列表中讀取時(shí)間偏移量的初始值,將 所述時(shí)間偏移量的初始值作為文本節(jié)點(diǎn)添加到所述第四明文節(jié)點(diǎn)中。
12. 如權(quán)利要求1所述的方法,其特征在于,所述編碼裝置生成密鑰節(jié)點(diǎn)之后,還包括: 所述編碼裝置生成算法參數(shù)節(jié)點(diǎn),將所述算法參數(shù)節(jié)點(diǎn)作為所述密鑰節(jié)點(diǎn)的子節(jié)點(diǎn)添 加到所述密鑰節(jié)點(diǎn)中,生成響應(yīng)碼格式節(jié)點(diǎn),將所述響應(yīng)碼格式節(jié)點(diǎn)作為所述算法參數(shù)節(jié) 點(diǎn)的子節(jié)點(diǎn)添加到所述算法參數(shù)節(jié)點(diǎn)中,從所述密鑰屬性列表中讀取響應(yīng)碼長(zhǎng)度和響應(yīng)碼 編碼信息,根據(jù)所述響應(yīng)碼長(zhǎng)度生成響應(yīng)碼長(zhǎng)度節(jié)點(diǎn),根據(jù)所述響應(yīng)碼編碼信息生成響應(yīng) 碼編碼信息節(jié)點(diǎn),將所述響應(yīng)碼長(zhǎng)度節(jié)點(diǎn)和所述響應(yīng)碼編碼信息節(jié)點(diǎn)作為屬性節(jié)點(diǎn)添加到 所述響應(yīng)碼格式節(jié)點(diǎn)中; 所述編碼裝置生成數(shù)據(jù)節(jié)點(diǎn)之后,還包括: 所述編碼裝置生成計(jì)數(shù)器節(jié)點(diǎn),將所述計(jì)數(shù)器節(jié)點(diǎn)作為所述數(shù)據(jù)節(jié)點(diǎn)的子節(jié)點(diǎn)添加到 所述數(shù)據(jù)節(jié)點(diǎn)中,生成第五明文節(jié)點(diǎn),將所述第五明文節(jié)點(diǎn)作為所述計(jì)數(shù)器節(jié)點(diǎn)的子節(jié)點(diǎn) 添加到所述計(jì)數(shù)器節(jié)點(diǎn)中,從所述密鑰屬性列表中讀取事件因子的初始值,將所述事件因 子的初始值作為文本節(jié)點(diǎn)添加到所述第五明文節(jié)點(diǎn)中。
13. -種實(shí)現(xiàn)密鑰信息解碼的裝置的工作方法,其特征在于,包括以下步驟: 51、 解碼裝置從密鑰文件的根節(jié)點(diǎn)中查找密鑰包節(jié)點(diǎn),如果查找到,則執(zhí)行步驟S2 ;否 貝1J,顯示錯(cuò)誤信息,結(jié)束流程; 52、 所述解碼裝置從所述密鑰包節(jié)點(diǎn)中查找設(shè)備信息節(jié)點(diǎn),從所述設(shè)備信息節(jié)點(diǎn)中查 找廠商節(jié)點(diǎn)和序列號(hào)節(jié)點(diǎn),獲取所述廠商節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容 作為廠商信息進(jìn)行保存,獲取所述序列號(hào)節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容 作為設(shè)備序列號(hào)進(jìn)行保存; 53、 所述解碼裝置從所述密鑰包節(jié)點(diǎn)中查找密鑰節(jié)點(diǎn),如果查找到,則執(zhí)行步驟S4 ;否 貝1J,顯示錯(cuò)誤信息,結(jié)束流程; 54、 所述解碼裝置獲取所述密鑰節(jié)點(diǎn)中的密鑰算法節(jié)點(diǎn)的屬性值,將獲取到的屬性值 作為密鑰算法信息進(jìn)行保存;獲取所述密鑰節(jié)點(diǎn)中的密鑰標(biāo)識(shí)節(jié)點(diǎn)的屬性值,將獲取到的 屬性值作為密鑰標(biāo)識(shí)進(jìn)行保存; 55、 所述解碼裝置從所述密鑰節(jié)點(diǎn)中查找數(shù)據(jù)節(jié)點(diǎn),如果查找到,則執(zhí)行步驟S6 ;否 貝1J,顯示錯(cuò)誤信息,結(jié)束流程; 56、 所述解碼裝置從所述數(shù)據(jù)節(jié)點(diǎn)中查找密鑰值節(jié)點(diǎn),如果查找到,則執(zhí)行步驟S7 ;否 貝1J,顯示錯(cuò)誤信息,結(jié)束流程; 57、 所述解碼裝置從所述密鑰值節(jié)點(diǎn)中獲取密鑰明文進(jìn)行保存, 或者,所述解碼裝置從所述密鑰值節(jié)點(diǎn)中獲取密鑰密文,對(duì)所述密鑰密文進(jìn)行解密,對(duì) 解密得到的密鑰明文進(jìn)行保存。
14. 如權(quán)利要求13所述的方法,其特征在于,所述解碼裝置從所述密鑰值節(jié)點(diǎn)中獲取 密鑰明文進(jìn)行保存,具體為: 所述解碼裝置從所述密鑰值節(jié)點(diǎn)中查找明文節(jié)點(diǎn),獲取所述明文節(jié)點(diǎn)的子節(jié)點(diǎn)的文本 內(nèi)容,將獲取到的文本內(nèi)容作為密鑰明文進(jìn)行保存。
15. 如權(quán)利要求13所述的方法,其特征在于,所述解碼裝置從所述密鑰值節(jié)點(diǎn)中獲取 密鑰密文,對(duì)所述密鑰密文進(jìn)行解密,對(duì)解密得到的密鑰明文進(jìn)行保存,具體為: 所述解碼裝置從所述密鑰值節(jié)點(diǎn)中查找密文節(jié)點(diǎn),從所述密文節(jié)點(diǎn)中查找第一加密方 法節(jié)點(diǎn)和第一密碼數(shù)據(jù)節(jié)點(diǎn),獲取所述第一加密方法節(jié)點(diǎn)中的第一加密密鑰算法節(jié)點(diǎn)的屬 性值作為加密密鑰算法信息,從所述第一密碼數(shù)據(jù)節(jié)點(diǎn)中查找第一密碼值節(jié)點(diǎn),獲取所述 第一密碼值節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容作為密鑰密文; 所述解碼裝置從所述密鑰文件的根節(jié)點(diǎn)中查找加密密鑰節(jié)點(diǎn),從所述加密密鑰節(jié)點(diǎn)中 查找密鑰名節(jié)點(diǎn),獲取所述密鑰名節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容作為加密密鑰名,根據(jù)與所述 加密密鑰名對(duì)應(yīng)的密鑰,使用與所述加密密鑰算法信息對(duì)應(yīng)的策略,對(duì)所述密鑰密文進(jìn)行 解密,得到密鑰明文。
16. 如權(quán)利要求15所述的方法,其特征在于,所述解碼裝置從所述數(shù)據(jù)節(jié)點(diǎn)中查找到 密鑰值節(jié)點(diǎn)之后,還包括: 所述解碼裝置從所述密鑰文件的根節(jié)點(diǎn)中查找MAC方法節(jié)點(diǎn),獲取所述MAC方法節(jié)點(diǎn) 中的MAC算法節(jié)點(diǎn)的屬性值作為MAC算法信息,從所述MAC方法節(jié)點(diǎn)中查找MAC密鑰節(jié)點(diǎn), 從所述MAC密鑰節(jié)點(diǎn)中查找第二加密方法節(jié)點(diǎn)和第二密碼數(shù)據(jù)節(jié)點(diǎn),獲取所述第二加密方 法節(jié)點(diǎn)中的第二加密密鑰算法節(jié)點(diǎn)的屬性值作為加密密鑰算法信息,從所述第二密碼數(shù)據(jù) 節(jié)點(diǎn)中查找第二密碼值節(jié)點(diǎn),獲取所述第二密碼值節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容作為MAC密鑰 密文,根據(jù)所述加密密鑰名對(duì)應(yīng)的密鑰,使用與所述加密密鑰算法信息對(duì)應(yīng)的策略,對(duì)所述 MAC密鑰密文進(jìn)行解密,得到MAC密鑰; 所述解碼裝置根據(jù)所述MAC密鑰,對(duì)所述密鑰明文進(jìn)行摘要處理,判斷摘要處理得到 的摘要值是否與從所述密鑰值節(jié)點(diǎn)中的MAC值節(jié)點(diǎn)中獲取的摘要值相同,如果是,則對(duì)所 述密鑰明文進(jìn)行保存;否則,顯示錯(cuò)誤信息,結(jié)束流程。
17. 如權(quán)利要求13所述的方法,其特征在于,所述解碼裝置從所述密鑰包節(jié)點(diǎn)中查找 到密鑰節(jié)點(diǎn)之后,還包括: 所述解碼裝置從所述密鑰節(jié)點(diǎn)中查找發(fā)行方節(jié)點(diǎn),獲取所述發(fā)行方節(jié)點(diǎn)的子節(jié)點(diǎn)的文 本內(nèi)容,將獲取到的文本內(nèi)容作為發(fā)行方信息進(jìn)行保存。
18. 如權(quán)利要求13所述的方法,其特征在于,所述解碼裝置從所述密鑰包節(jié)點(diǎn)中查找 到設(shè)備信息節(jié)點(diǎn)之后,還包括: 所述解碼裝置從所述設(shè)備信息節(jié)點(diǎn)中查找設(shè)備用戶標(biāo)識(shí)節(jié)點(diǎn),獲取所述設(shè)備用戶標(biāo)識(shí) 節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作為設(shè)備用戶標(biāo)識(shí)進(jìn)行保存。
19. 如權(quán)利要求13所述的方法,其特征在于,所述解碼裝置從密鑰文件的根節(jié)點(diǎn)中查 找到密鑰包節(jié)點(diǎn)之后,還包括: 所述解碼裝置從所述密鑰包節(jié)點(diǎn)中查找密碼模塊節(jié)點(diǎn),從所述密碼模塊節(jié)點(diǎn)中查找密 碼模塊標(biāo)識(shí)節(jié)點(diǎn),獲取所述密碼模塊標(biāo)識(shí)節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容 作為密碼模塊標(biāo)識(shí)進(jìn)行保存。
20. 如權(quán)利要求13所述的方法,其特征在于,所述解碼裝置從所述密鑰包節(jié)點(diǎn)中查找 到密鑰節(jié)點(diǎn)之后,還包括: 所述解碼裝置從所述密鑰節(jié)點(diǎn)中查找密鑰用戶標(biāo)識(shí)節(jié)點(diǎn),獲取所述密鑰用戶標(biāo)識(shí)節(jié)點(diǎn) 的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作為密鑰用戶標(biāo)識(shí)進(jìn)行保存。
21. 如權(quán)利要求13所述的方法,其特征在于,所述解碼裝置從所述密鑰包節(jié)點(diǎn)中查找 到密鑰節(jié)點(diǎn)之后,還包括: 所述解碼裝置從所述密鑰節(jié)點(diǎn)中查找策略節(jié)點(diǎn),從所述策略節(jié)點(diǎn)中查找起始日期節(jié) 點(diǎn)、終結(jié)日期節(jié)點(diǎn)和密鑰用途節(jié)點(diǎn),獲取所述起始日期節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到 的文本內(nèi)容作為密鑰起始日期進(jìn)行保存;獲取所述終結(jié)日期節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將 獲取到的文本內(nèi)容作為密鑰終結(jié)日期進(jìn)行保存;獲取所述密鑰用途節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi) 容,將獲取到的文本內(nèi)容作為密鑰用途信息進(jìn)行保存。
22. 如權(quán)利要求13所述的方法,其特征在于,所述解碼裝置從所述密鑰包節(jié)點(diǎn)中查找 到密鑰節(jié)點(diǎn)之后,還包括: 所述解碼裝置從所述密鑰節(jié)點(diǎn)中查找算法參數(shù)節(jié)點(diǎn),從所述算法參數(shù)節(jié)點(diǎn)中查找響應(yīng) 碼格式節(jié)點(diǎn),獲取所述響應(yīng)碼格式節(jié)點(diǎn)中的響應(yīng)碼長(zhǎng)度節(jié)點(diǎn)的屬性值,將獲取到的屬性值 作為響應(yīng)碼長(zhǎng)度進(jìn)行保存,獲取所述響應(yīng)碼格式節(jié)點(diǎn)中的響應(yīng)碼編碼信息節(jié)點(diǎn)的屬性值, 將獲取到的屬性值作為響應(yīng)碼編碼信息進(jìn)行保存; 所述解碼裝置從所述密鑰節(jié)點(diǎn)中查找到數(shù)據(jù)節(jié)點(diǎn)之后,還包括: 所述解碼裝置從所述數(shù)據(jù)節(jié)點(diǎn)中查找時(shí)間節(jié)點(diǎn)、時(shí)間間隔節(jié)點(diǎn)和時(shí)間偏移節(jié)點(diǎn),從所 述時(shí)間節(jié)點(diǎn)中查找第二明文節(jié)點(diǎn),獲取所述第二明文節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到 的文本內(nèi)容作為時(shí)間因子的初始值進(jìn)行保存;從所述時(shí)間間隔節(jié)點(diǎn)中查找第三明文節(jié)點(diǎn), 獲取所述第三明文節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作為時(shí)間間隔值進(jìn)行保 存;從所述時(shí)間偏移節(jié)點(diǎn)中查找第四明文節(jié)點(diǎn),獲取所述第四明文節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi) 容,將獲取到的文本內(nèi)容作為時(shí)間偏移量的初始值進(jìn)行保存。
23. 如權(quán)利要求13所述的方法,其特征在于,所述解碼裝置從所述密鑰包節(jié)點(diǎn)中查找 到密鑰節(jié)點(diǎn)之后,還包括: 所述解碼裝置從所述密鑰節(jié)點(diǎn)中查找算法參數(shù)節(jié)點(diǎn),從所述算法參數(shù)節(jié)點(diǎn)中查找響應(yīng) 碼格式節(jié)點(diǎn),獲取所述響應(yīng)碼格式節(jié)點(diǎn)中的響應(yīng)碼長(zhǎng)度節(jié)點(diǎn)的屬性值,將獲取到的屬性值 作為響應(yīng)碼長(zhǎng)度進(jìn)行保存,獲取所述響應(yīng)碼格式節(jié)點(diǎn)中的響應(yīng)碼編碼信息節(jié)點(diǎn)的屬性值, 將獲取到的屬性值作為響應(yīng)碼編碼信息進(jìn)行保存; 所述解碼裝置從所述密鑰節(jié)點(diǎn)中查找到數(shù)據(jù)節(jié)點(diǎn)之后,還包括: 所述解碼裝置從所述數(shù)據(jù)節(jié)點(diǎn)中查找計(jì)數(shù)器節(jié)點(diǎn),從所述計(jì)數(shù)器節(jié)點(diǎn)中查找第五明文 節(jié)點(diǎn),獲取所述第五明文節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作為事件因子的 初始值進(jìn)行保存。
24. -種編碼裝置,其特征在于,包括: 讀取模塊,用于從密鑰信息的密鑰屬性列表中讀取廠商信息、設(shè)備序列號(hào)、密鑰標(biāo)識(shí)、 密鑰算法信息和密鑰明文; 生成模塊,用于生成密鑰容器節(jié)點(diǎn),將所述密鑰容器節(jié)點(diǎn)作為根節(jié)點(diǎn)添加到密鑰文件 中;生成密鑰包節(jié)點(diǎn),將所述密鑰包節(jié)點(diǎn)作為所述密鑰容器節(jié)點(diǎn)的子節(jié)點(diǎn)添加到所述密鑰 容器節(jié)點(diǎn)中;生成設(shè)備信息節(jié)點(diǎn)和密鑰節(jié)點(diǎn),將所述設(shè)備信息節(jié)點(diǎn)和所述密鑰節(jié)點(diǎn)作為所 述密鑰包節(jié)點(diǎn)的子節(jié)點(diǎn)添加到所述密鑰包節(jié)點(diǎn)中; 生成廠商節(jié)點(diǎn)和序列號(hào)節(jié)點(diǎn),將所述廠商節(jié)點(diǎn)和所述序列號(hào)節(jié)點(diǎn)作為所述設(shè)備信息節(jié) 點(diǎn)的子節(jié)點(diǎn)添加到所述設(shè)備信息節(jié)點(diǎn)中;將所述讀取模塊讀取到的所述廠商信息作為文本 節(jié)點(diǎn)添加到所述廠商節(jié)點(diǎn)中,將所述讀取模塊讀取到的所述設(shè)備序列號(hào)作為文本節(jié)點(diǎn)添加 到所述序列號(hào)節(jié)點(diǎn)中; 根據(jù)所述讀取模塊讀取到的所述密鑰算法信息生成密鑰算法節(jié)點(diǎn),根據(jù)所述讀取模塊 讀取到的密鑰標(biāo)識(shí)生成密鑰標(biāo)識(shí)節(jié)點(diǎn),將所述密鑰標(biāo)識(shí)節(jié)點(diǎn)和所述密鑰算法節(jié)點(diǎn)作為屬性 節(jié)點(diǎn)添加到所述密鑰節(jié)點(diǎn)中;生成數(shù)據(jù)節(jié)點(diǎn),將所述數(shù)據(jù)節(jié)點(diǎn)作為所述密鑰節(jié)點(diǎn)的子節(jié)點(diǎn) 添加到所述密鑰節(jié)點(diǎn)中;生成密鑰值節(jié)點(diǎn),將所述密鑰值節(jié)點(diǎn)作為所述數(shù)據(jù)節(jié)點(diǎn)的子節(jié)點(diǎn) 添加到所述數(shù)據(jù)節(jié)點(diǎn)中; 添加模塊,用于將所述讀取模塊讀取到的所述密鑰明文或與所述密鑰明文對(duì)應(yīng)的密鑰 密文添加到所述密鑰值節(jié)點(diǎn)中。
25. 如權(quán)利要求24所述的編碼裝置,其特征在于, 所述讀取模塊,還用于從所述密鑰信息中讀取密鑰傳輸方式; 所述編碼裝置,還包括: 第一判斷模塊,用于判斷所述密鑰傳輸方式是否為明文傳輸; 所述添加模塊,具體用于在所述第一判斷模塊判斷出所述密鑰傳輸方式為明文傳輸 時(shí),生成第一明文節(jié)點(diǎn),將所述第一明文節(jié)點(diǎn)作為所述密鑰值節(jié)點(diǎn)的子節(jié)點(diǎn)添加到所述密 鑰值節(jié)點(diǎn)中,將所述讀取模塊讀取到的所述密鑰明文作為文本節(jié)點(diǎn)添加到所述第一明文節(jié) 點(diǎn)中。
26. 如權(quán)利要求24所述的編碼裝置,其特征在于, 所述讀取模塊,還用于從所述密鑰信息中讀取密鑰傳輸方式、加密密鑰名和加密密鑰 算法息; 所述編碼裝置,還包括: 第一判斷模塊,用于判斷所述密鑰傳輸方式是否為明文傳輸; 所述生成模塊,還用于生成加密密鑰節(jié)點(diǎn),將所述加密密鑰節(jié)點(diǎn)作為所述密鑰容器節(jié) 點(diǎn)的子節(jié)點(diǎn)添加到所述密鑰容器節(jié)點(diǎn)中;生成密鑰名節(jié)點(diǎn),將所述密鑰名節(jié)點(diǎn)作為所述加 密密鑰節(jié)點(diǎn)的子節(jié)點(diǎn)添加到所述加密密鑰節(jié)點(diǎn)中;將所述讀取模塊讀取到的所述加密密鑰 名作為文本節(jié)點(diǎn)添加到所述密鑰名節(jié)點(diǎn)中; 所述添加模塊,具體用于在所述第一判斷模塊判斷出所述密鑰傳輸方式不是明文傳輸 時(shí),生成密文節(jié)點(diǎn),將所述密文節(jié)點(diǎn)作為所述密鑰值節(jié)點(diǎn)的子節(jié)點(diǎn)添加到所述密鑰值節(jié)點(diǎn) 中;生成第一加密方法節(jié)點(diǎn)和第一密碼數(shù)據(jù)節(jié)點(diǎn),將所述第一加密方法節(jié)點(diǎn)和所述第一密 碼數(shù)據(jù)節(jié)點(diǎn)作為所述密文節(jié)點(diǎn)的子節(jié)點(diǎn)添加到所述密文節(jié)點(diǎn)中;根據(jù)所述讀取模塊讀取到 的所述加密密鑰算法信息生成第一加密密鑰算法節(jié)點(diǎn),將所述第一加密密鑰算法節(jié)點(diǎn)作為 屬性節(jié)點(diǎn)添加到所述第一加密方法節(jié)點(diǎn)中;生成第一密碼值節(jié)點(diǎn),將所述第一密碼值節(jié)點(diǎn) 作為所述第一密碼數(shù)據(jù)節(jié)點(diǎn)的子節(jié)點(diǎn)添加到所述第一密碼數(shù)據(jù)節(jié)點(diǎn)中;根據(jù)與所述加密密 鑰名對(duì)應(yīng)的密鑰,使用與所述加密密鑰算法信息對(duì)應(yīng)的策略,對(duì)所述密鑰明文進(jìn)行加密,將 加密得到的密鑰密文作為文本節(jié)點(diǎn)添加到所述第一密碼值節(jié)點(diǎn)中。
27. 如權(quán)利要求26所述的編碼裝置,其特征在于, 所述讀取模塊,還用于從所述密鑰信息中讀取MAC算法信息、加密密鑰算法信息和MAC 密鑰; 所述生成模塊,還用于生成MAC方法節(jié)點(diǎn),將所述MAC方法節(jié)點(diǎn)作為所述密鑰容器節(jié)點(diǎn) 的子節(jié)點(diǎn)添加到所述密鑰容器節(jié)點(diǎn)中;根據(jù)所述讀取模塊讀取到的所述MAC算法信息生成 MAC算法節(jié)點(diǎn),將所述MAC算法節(jié)點(diǎn)作為屬性節(jié)點(diǎn)添加到所述MAC方法節(jié)點(diǎn)中;生成MAC密 鑰節(jié)點(diǎn),將所述MAC密鑰節(jié)點(diǎn)作為所述MAC方法節(jié)點(diǎn)的子節(jié)點(diǎn)添加到所述MAC方法節(jié)點(diǎn)中; 生成第二加密方法節(jié)點(diǎn)和第二密碼數(shù)據(jù)節(jié)點(diǎn),將所述第二加密方法節(jié)點(diǎn)和所述第二密碼數(shù) 據(jù)節(jié)點(diǎn)作為子節(jié)點(diǎn)添加到所述MAC密鑰節(jié)點(diǎn)中;根據(jù)所述讀取模塊讀取到的所述加密密鑰 算法信息生成第二加密密鑰算法節(jié)點(diǎn),將所述第二加密密鑰算法節(jié)點(diǎn)作為屬性節(jié)點(diǎn)添加到 所述第二加密方法節(jié)點(diǎn)中;生成第二密碼值節(jié)點(diǎn),將所述第二密碼值節(jié)點(diǎn)作為所述第二密 碼數(shù)據(jù)節(jié)點(diǎn)的子節(jié)點(diǎn)添加到所述第二密碼數(shù)據(jù)節(jié)點(diǎn)中;根據(jù)與所述讀取模塊讀取到的所述 加密密鑰名對(duì)應(yīng)的密鑰,使用與所述加密密鑰算法信息對(duì)應(yīng)的策略,對(duì)所述讀取模塊讀取 到的所述MAC密鑰進(jìn)行加密,將加密得到的密文作為文本節(jié)點(diǎn)添加到所述第二密碼值節(jié)點(diǎn) 中;生成MAC值節(jié)點(diǎn),將所述MAC值節(jié)點(diǎn)作為所述密鑰值節(jié)點(diǎn)的子節(jié)點(diǎn)添加到所述密鑰值節(jié) 點(diǎn)中;根據(jù)所述讀取模塊讀取到的所述MAC密鑰,使用與所述讀取模塊讀取到的所述MAC算 法信息對(duì)應(yīng)的策略,對(duì)所述密鑰明文進(jìn)行摘要處理,將得到的摘要值作為文本節(jié)點(diǎn)添加到 所述MAC值節(jié)點(diǎn)中。
28. 如權(quán)利要求24所述的編碼裝置,其特征在于,還包括: 選擇模塊,用于從所述密鑰信息中選取一個(gè)未被處理過(guò)的密鑰屬性列表作為當(dāng)前列 表; 所述讀取模塊,具體用于從所述選擇模塊選取的當(dāng)前列表中讀取廠商信息、設(shè)備序列 號(hào)、密鑰標(biāo)識(shí)、密鑰算法信息和密鑰明文; 所述編碼裝置,還包括: 第二判斷模塊,用于在所述添加模塊將所述密鑰明文或與所述密鑰明文對(duì)應(yīng)的密鑰 密文添加到所述密鑰值節(jié)點(diǎn)中后,判斷所述密鑰信息中是否存在未被處理過(guò)的密鑰屬性列 表,如果是,則觸發(fā)所述選擇模塊從所述密鑰信息中選取一個(gè)未被處理過(guò)的密鑰屬性列表 作為當(dāng)前列表;否則,確定編碼結(jié)束。
29. 如權(quán)利要求24所述的編碼裝置,其特征在于, 所述讀取模塊,還用于從所述密鑰屬性列表中讀取發(fā)行方信息; 所述生成模塊,還用于生成發(fā)行方節(jié)點(diǎn),將所述發(fā)行方節(jié)點(diǎn)作為所述密鑰節(jié)點(diǎn)的子節(jié) 點(diǎn)添加到所述密鑰節(jié)點(diǎn)中,將所述發(fā)行方信息作為文本節(jié)點(diǎn)添加到所述發(fā)行方節(jié)點(diǎn)中。
30. 如權(quán)利要求24所述的編碼裝置,其特征在于, 所述讀取模塊,還用于從所述密鑰屬性列表中讀取設(shè)備用戶標(biāo)識(shí); 所述生成模塊,還用于生成設(shè)備用戶標(biāo)識(shí)節(jié)點(diǎn),將所述設(shè)備用戶標(biāo)識(shí)節(jié)點(diǎn)作為所述設(shè) 備信息節(jié)點(diǎn)的子節(jié)點(diǎn)添加到所述設(shè)備信息節(jié)點(diǎn)中,將所述設(shè)備用戶標(biāo)識(shí)作為文本節(jié)點(diǎn)添加 到所述設(shè)備用戶標(biāo)識(shí)節(jié)點(diǎn)中。
31. 如權(quán)利要求24所述的編碼裝置,其特征在于, 所述讀取模塊,還用于從所述密鑰屬性列表中讀取密碼模塊標(biāo)識(shí), 所述生成模塊,還用于生成密碼模塊節(jié)點(diǎn),將所述密碼模塊節(jié)點(diǎn)作為所述密鑰包節(jié)點(diǎn) 的子節(jié)點(diǎn)添加到所述密鑰包節(jié)點(diǎn)中,生成密碼模塊標(biāo)識(shí)節(jié)點(diǎn),將所述密碼模塊標(biāo)識(shí)節(jié)點(diǎn)作 為所述密碼模塊節(jié)點(diǎn)的子節(jié)點(diǎn)添加到密碼模塊節(jié)點(diǎn)中,將所述密碼模塊標(biāo)識(shí)作為文本節(jié)點(diǎn) 添加到所述密碼模塊標(biāo)識(shí)節(jié)點(diǎn)中。
32. 如權(quán)利要求24所述的編碼裝置,其特征在于, 所述讀取模塊,還用于從所述密鑰屬性列表中讀取密鑰用戶標(biāo)識(shí); 所述生成模塊,還用于生成密鑰用戶標(biāo)識(shí)節(jié)點(diǎn),將所述密鑰用戶標(biāo)識(shí)節(jié)點(diǎn)作為所述密 鑰節(jié)點(diǎn)的子節(jié)點(diǎn)添加到所述密鑰節(jié)點(diǎn)中,將所述密鑰用戶標(biāo)識(shí)作為文本節(jié)點(diǎn)添加到所述密 鑰用戶標(biāo)識(shí)節(jié)點(diǎn)中。
33. 如權(quán)利要求24所述的編碼裝置,其特征在于, 所述讀取模塊,還用于從所述密鑰屬性列表中讀取密鑰起始日期、密鑰終結(jié)日期和密 鑰用途信息; 所述生成模塊,還用于生成策略節(jié)點(diǎn),將所述策略節(jié)點(diǎn)作為所述密鑰節(jié)點(diǎn)的子節(jié)點(diǎn)添 加到所述密鑰節(jié)點(diǎn)中,生成起始日期節(jié)點(diǎn)、終結(jié)日期節(jié)點(diǎn)和密鑰用途節(jié)點(diǎn),將所述起始日期 節(jié)點(diǎn)、所述終結(jié)日期節(jié)點(diǎn)和所述密鑰用途節(jié)點(diǎn)添加到所述策略節(jié)點(diǎn)中,將所述密鑰起始日 期作為文本節(jié)點(diǎn)添加到所述起始日期節(jié)點(diǎn)中,將所述密鑰終結(jié)日期作為文本節(jié)點(diǎn)添加到所 述終結(jié)日期節(jié)點(diǎn)中,將所述密鑰用途信息作為文本節(jié)點(diǎn)添加到所述密鑰用途節(jié)點(diǎn)中。
34. 如權(quán)利要求24所述的編碼裝置,其特征在于, 所述讀取模塊,還用于從所述密鑰屬性列表中讀取響應(yīng)碼長(zhǎng)度、響應(yīng)碼編碼信息、時(shí)間 因子的初始值、時(shí)間間隔值和時(shí)間偏移量的初始值; 所述生成模塊,還用于生成算法參數(shù)節(jié)點(diǎn),將所述算法參數(shù)節(jié)點(diǎn)作為所述密鑰節(jié)點(diǎn)的 子節(jié)點(diǎn)添加到所述密鑰節(jié)點(diǎn)中,生成響應(yīng)碼格式節(jié)點(diǎn),將所述響應(yīng)碼格式節(jié)點(diǎn)作為所述算 法參數(shù)節(jié)點(diǎn)的子節(jié)點(diǎn)添加到所述算法參數(shù)節(jié)點(diǎn)中,根據(jù)所述響應(yīng)碼長(zhǎng)度生成響應(yīng)碼長(zhǎng)度節(jié) 點(diǎn),根據(jù)所述響應(yīng)碼編碼信息生成響應(yīng)碼編碼信息節(jié)點(diǎn),將所述響應(yīng)碼長(zhǎng)度節(jié)點(diǎn)和所述響 應(yīng)碼編碼信息節(jié)點(diǎn)作為屬性節(jié)點(diǎn)添加到所述響應(yīng)碼格式節(jié)點(diǎn)中;生成時(shí)間節(jié)點(diǎn),將所述時(shí) 間節(jié)點(diǎn)作為所述數(shù)據(jù)節(jié)點(diǎn)的子節(jié)點(diǎn)添加到所述數(shù)據(jù)節(jié)點(diǎn)中,生成第二明文節(jié)點(diǎn),將所述第 二明文節(jié)點(diǎn)作為所述時(shí)間節(jié)點(diǎn)的子節(jié)點(diǎn)添加到所述時(shí)間節(jié)點(diǎn)中,將所述時(shí)間因子的初始值 作為文本節(jié)點(diǎn)添加到所述第二明文節(jié)點(diǎn)中;生成時(shí)間間隔節(jié)點(diǎn),將所述時(shí)間間隔節(jié)點(diǎn)作為 所述數(shù)據(jù)節(jié)點(diǎn)的子節(jié)點(diǎn)添加到所述數(shù)據(jù)節(jié)點(diǎn)中,生成第三明文節(jié)點(diǎn),將所述第三明文節(jié)點(diǎn) 作為所述時(shí)間間隔節(jié)點(diǎn)的子節(jié)點(diǎn)添加到所述時(shí)間間隔節(jié)點(diǎn)中,將所述時(shí)間間隔值作為文本 節(jié)點(diǎn)添加到所述第三明文節(jié)點(diǎn)中;生成時(shí)間偏移節(jié)點(diǎn),將所述時(shí)間偏移節(jié)點(diǎn)作為所述數(shù)據(jù) 節(jié)點(diǎn)的子節(jié)點(diǎn)添加到所述數(shù)據(jù)節(jié)點(diǎn)中,生成第四明文節(jié)點(diǎn),將所述第四明文節(jié)點(diǎn)作為所述 時(shí)間偏移節(jié)點(diǎn)的子節(jié)點(diǎn)添加到所述時(shí)間偏移節(jié)點(diǎn)中,將所述時(shí)間偏移量的初始值作為文本 節(jié)點(diǎn)添加到所述第四明文節(jié)點(diǎn)中。
35. 如權(quán)利要求24所述的編碼裝置,其特征在于, 所述讀取模塊,還用于從所述密鑰屬性列表中讀取響應(yīng)碼長(zhǎng)度、響應(yīng)碼編碼信息和事 件因子的初始值; 所述生成模塊,還用于生成算法參數(shù)節(jié)點(diǎn),將所述算法參數(shù)節(jié)點(diǎn)作為所述密鑰節(jié)點(diǎn)的 子節(jié)點(diǎn)添加到所述密鑰節(jié)點(diǎn)中,生成響應(yīng)碼格式節(jié)點(diǎn),將所述響應(yīng)碼格式節(jié)點(diǎn)作為所述算 法參數(shù)節(jié)點(diǎn)的子節(jié)點(diǎn)添加到所述算法參數(shù)節(jié)點(diǎn)中,根據(jù)所述響應(yīng)碼長(zhǎng)度生成響應(yīng)碼長(zhǎng)度節(jié) 點(diǎn),根據(jù)所述響應(yīng)碼編碼信息生成響應(yīng)碼編碼信息節(jié)點(diǎn),將所述響應(yīng)碼長(zhǎng)度節(jié)點(diǎn)和所述響 應(yīng)碼編碼信息節(jié)點(diǎn)作為屬性節(jié)點(diǎn)添加到所述響應(yīng)碼格式節(jié)點(diǎn)中;生成計(jì)數(shù)器節(jié)點(diǎn),將所述 計(jì)數(shù)器節(jié)點(diǎn)作為所述數(shù)據(jù)節(jié)點(diǎn)的子節(jié)點(diǎn)添加到所述數(shù)據(jù)節(jié)點(diǎn)中,生成第五明文節(jié)點(diǎn),將所 述第五明文節(jié)點(diǎn)作為所述計(jì)數(shù)器節(jié)點(diǎn)的子節(jié)點(diǎn)添加到所述計(jì)數(shù)器節(jié)點(diǎn)中,將所述事件因子 的初始值作為文本節(jié)點(diǎn)添加到所述第五明文節(jié)點(diǎn)中。
36. -種解碼裝置,其特征在于,包括: 查找模塊,用于從密鑰文件的根節(jié)點(diǎn)中查找密鑰包節(jié)點(diǎn),如果查找到所述密鑰包節(jié)點(diǎn), 則從所述密鑰包節(jié)點(diǎn)中查找設(shè)備信息節(jié)點(diǎn),從所述設(shè)備信息節(jié)點(diǎn)中查找廠商節(jié)點(diǎn)、序列號(hào) 節(jié)點(diǎn)和密鑰節(jié)點(diǎn);如果查找到所述密鑰節(jié)點(diǎn),則從所述密鑰節(jié)點(diǎn)中查找數(shù)據(jù)節(jié)點(diǎn);如果查 找到所述數(shù)據(jù)節(jié)點(diǎn),則從所述數(shù)據(jù)節(jié)點(diǎn)中查找密鑰值節(jié)點(diǎn); 第一獲取模塊,用于在所述查找模塊查找到所述廠商節(jié)點(diǎn)時(shí),獲取所述廠商節(jié)點(diǎn)的子 節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作為廠商信息進(jìn)行保存;在所述查找模塊查找到所 述序列號(hào)節(jié)點(diǎn)時(shí),獲取所述序列號(hào)節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作為設(shè) 備序列號(hào)進(jìn)行保存;在所述查找模塊查找到所述密鑰節(jié)點(diǎn)時(shí),獲取所述密鑰節(jié)點(diǎn)中的密鑰 算法節(jié)點(diǎn)的屬性值,將獲取到的屬性值作為密鑰算法信息進(jìn)行保存;獲取所述密鑰節(jié)點(diǎn)中 的密鑰標(biāo)識(shí)節(jié)點(diǎn)的屬性值,將獲取到的屬性值作為密鑰標(biāo)識(shí)進(jìn)行保存; 第二獲取模塊,用于在所述查找模塊查找到密鑰值節(jié)點(diǎn)時(shí),從所述密鑰值節(jié)點(diǎn)中獲取 密鑰明文進(jìn)行保存, 或者,從所述密鑰值節(jié)點(diǎn)中獲取密鑰密文,對(duì)所述密鑰密文進(jìn)行解密,對(duì)解密得到的密 鑰明文進(jìn)行保存; 顯示模塊,用于在所述查找模塊沒(méi)有查找到所述密鑰包節(jié)點(diǎn)、所述密鑰節(jié)點(diǎn)、所述數(shù)據(jù) 節(jié)點(diǎn)或所述密鑰值節(jié)點(diǎn)時(shí),顯示錯(cuò)誤信息。
37. 如權(quán)利要求36所述的解碼裝置,其特征在于, 所述第二獲取模塊,具體用于從所述密鑰值節(jié)點(diǎn)中查找明文節(jié)點(diǎn),獲取所述明文節(jié)點(diǎn) 的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作為密鑰明文進(jìn)行保存。
38. 如權(quán)利要求36所述的解碼裝置,其特征在于, 所述第二獲取模塊,具體用于從所述密鑰值節(jié)點(diǎn)中查找密文節(jié)點(diǎn),從所述密文節(jié)點(diǎn)中 查找第一加密方法節(jié)點(diǎn)和第一密碼數(shù)據(jù)節(jié)點(diǎn),獲取所述第一加密方法節(jié)點(diǎn)中的第一加密密 鑰算法節(jié)點(diǎn)的屬性值作為加密密鑰算法信息,從所述第一密碼數(shù)據(jù)節(jié)點(diǎn)中查找第一密碼值 節(jié)點(diǎn),獲取所述第一密碼值節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容作為密鑰密文; 從所述密鑰文件的根節(jié)點(diǎn)中查找加密密鑰節(jié)點(diǎn),從所述加密密鑰節(jié)點(diǎn)中查找密鑰名節(jié) 點(diǎn),獲取所述密鑰名節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容作為加密密鑰名,根據(jù)與所述加密密鑰名對(duì) 應(yīng)的密鑰,使用與所述加密密鑰算法信息對(duì)應(yīng)的策略,對(duì)所述密鑰密文進(jìn)行解密,得到密鑰 明文。
39. 如權(quán)利要求38所述的解碼裝置,其特征在于, 所述查找模塊,還用于在從所述數(shù)據(jù)節(jié)點(diǎn)中查找到密鑰值節(jié)點(diǎn)之后,從所述密鑰值節(jié) 點(diǎn)中查找MAC值節(jié)點(diǎn),從所述密鑰文件的根節(jié)點(diǎn)中查找MAC方法節(jié)點(diǎn),從所述MAC方法節(jié)點(diǎn) 中查找MAC密鑰節(jié)點(diǎn),從所述MAC密鑰節(jié)點(diǎn)中查找第二加密方法節(jié)點(diǎn)和第二密碼數(shù)據(jù)節(jié)點(diǎn), 從所述第二密碼數(shù)據(jù)節(jié)點(diǎn)中查找第二密碼值節(jié)點(diǎn); 所述第一獲取模塊,還用于獲取所述MAC值節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容作為摘要值,獲 取所述MAC方法節(jié)點(diǎn)中的MAC算法節(jié)點(diǎn)的屬性值作為MAC算法信息,獲取所述第二加密方 法節(jié)點(diǎn)中的第二加密密鑰算法節(jié)點(diǎn)的屬性值作為加密密鑰算法信息,獲取所述第二密碼值 節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容作為MAC密鑰密文,根據(jù)所述加密密鑰名對(duì)應(yīng)的密鑰,使用與所 述加密密鑰算法信息對(duì)應(yīng)的策略,對(duì)所述MAC密鑰密文進(jìn)行解密,得到MAC密鑰; 所述解碼裝置,還包括: 摘要模塊,用于根據(jù)所述第一獲取模塊獲取到的所述MAC密鑰,對(duì)所述密鑰明文進(jìn)行 摘要處理; 判斷模塊,用于判斷所述摘要模塊摘要處理得到的摘要值是否與所述第一獲取模塊從 所述MAC值節(jié)點(diǎn)中獲取的摘要值相同; 所述第二獲取模塊,具體用于從所述密鑰值節(jié)點(diǎn)中獲取密鑰密文,對(duì)所述密鑰密文進(jìn) 行解密,得到密鑰明文,并在所述判斷模塊判斷出所述摘要模塊摘要處理得到的摘要值與 所述第一獲取模塊從所述密鑰值節(jié)點(diǎn)中的MAC值節(jié)點(diǎn)中獲取的摘要值相同時(shí),對(duì)所述密鑰 明文進(jìn)行保存; 所述顯示模塊,還用于在所述判斷模塊判斷出所述摘要模塊摘要處理得到的摘要值與 所述第一獲取模塊從所述密鑰值節(jié)點(diǎn)中的MAC值節(jié)點(diǎn)中獲取的摘要值不同時(shí),顯示錯(cuò)誤信 肩、。
40. 如權(quán)利要求36所述的解碼裝置,其特征在于, 所述查找模塊,還用于在從所述密鑰包節(jié)點(diǎn)中查找到密鑰節(jié)點(diǎn)之后,從所述密鑰節(jié)點(diǎn) 中查找發(fā)行方節(jié)點(diǎn); 所述第一獲取模塊,還用于在所述查找模塊查找到所述發(fā)行方節(jié)點(diǎn)時(shí),獲取所述發(fā)行 方節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作為發(fā)行方信息進(jìn)行保存。
41. 如權(quán)利要求36所述的解碼裝置,其特征在于, 所述查找模塊,還用于在從所述密鑰包節(jié)點(diǎn)中查找到設(shè)備信息節(jié)點(diǎn)之后,從所述設(shè)備 信息節(jié)點(diǎn)中查找設(shè)備用戶標(biāo)識(shí)節(jié)點(diǎn); 所述第一獲取模塊,還用于在所述查找模塊查找到所述設(shè)備用戶標(biāo)識(shí)節(jié)點(diǎn)時(shí),獲取所 述設(shè)備用戶標(biāo)識(shí)節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作為設(shè)備用戶標(biāo)識(shí)進(jìn)行保 存。
42. 如權(quán)利要求36所述的解碼裝置,其特征在于, 所述查找模塊,還用于在從所述密鑰文件的根節(jié)點(diǎn)中查找到密鑰包節(jié)點(diǎn)之后,從所述 密鑰包節(jié)點(diǎn)中查找密碼模塊節(jié)點(diǎn),從所述密碼模塊節(jié)點(diǎn)中查找密碼模塊標(biāo)識(shí)節(jié)點(diǎn); 所述第一獲取模塊,還用于在所述查找模塊查找到所述密碼模塊標(biāo)識(shí)節(jié)點(diǎn)時(shí),獲取所 述密碼模塊標(biāo)識(shí)節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作為密碼模塊標(biāo)識(shí)進(jìn)行保 存。
43. 如權(quán)利要求36所述的解碼裝置,其特征在于, 所述查找模塊,還用于在從所述密鑰包節(jié)點(diǎn)中查找到密鑰節(jié)點(diǎn)之后,從所述密鑰節(jié)點(diǎn) 中查找密鑰用戶標(biāo)識(shí)節(jié)點(diǎn); 所述第一獲取模塊,還用于在所述查找模塊查找到所述密鑰用戶標(biāo)識(shí)節(jié)點(diǎn)時(shí),獲取所 述密鑰用戶標(biāo)識(shí)節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作為密鑰用戶標(biāo)識(shí)進(jìn)行保 存。
44. 如權(quán)利要求36所述的解碼裝置,其特征在于, 所述查找模塊,還用于在從所述密鑰包節(jié)點(diǎn)中查找到密鑰節(jié)點(diǎn)之后,從所述密鑰節(jié)點(diǎn) 中查找策略節(jié)點(diǎn),從所述策略節(jié)點(diǎn)中查找起始日期節(jié)點(diǎn)、終結(jié)日期節(jié)點(diǎn)和密鑰用途節(jié)點(diǎn); 所述第一獲取模塊,還用于在所述查找模塊查找到所述起始日期節(jié)點(diǎn)時(shí),獲取所述起 始日期節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作為密鑰起始日期進(jìn)行保存;在所 述查找模塊查找到所述終結(jié)日期節(jié)點(diǎn)時(shí),獲取所述終結(jié)日期節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將 獲取到的文本內(nèi)容作為密鑰終結(jié)日期進(jìn)行保存;在所述查找模塊查找到所述密鑰用途節(jié)點(diǎn) 時(shí),獲取所述密鑰用途節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作為密鑰用途信息 進(jìn)行保存。
45. 如權(quán)利要求36所述的解碼裝置,其特征在于, 所述查找模塊,還用于在從所述密鑰包節(jié)點(diǎn)中查找到密鑰節(jié)點(diǎn)之后,從所述密鑰節(jié)點(diǎn) 中查找算法參數(shù)節(jié)點(diǎn),從所述算法參數(shù)節(jié)點(diǎn)中查找響應(yīng)碼格式節(jié)點(diǎn);在從所述密鑰節(jié)點(diǎn)中 查找到數(shù)據(jù)節(jié)點(diǎn)之后,從所述數(shù)據(jù)節(jié)點(diǎn)中查找時(shí)間節(jié)點(diǎn)、時(shí)間間隔節(jié)點(diǎn)和時(shí)間偏移節(jié)點(diǎn),從 所述時(shí)間節(jié)點(diǎn)中查找第二明文節(jié)點(diǎn),從所述時(shí)間間隔節(jié)點(diǎn)中查找第三明文節(jié)點(diǎn),從所述時(shí) 間偏移節(jié)點(diǎn)中查找第四明文節(jié)點(diǎn); 所述第一獲取模塊,還用于在所述查找模塊查找到所述響應(yīng)碼格式節(jié)點(diǎn)時(shí),獲取所述 響應(yīng)碼格式節(jié)點(diǎn)中的響應(yīng)碼長(zhǎng)度節(jié)點(diǎn)的屬性值,將獲取到的屬性值作為響應(yīng)碼長(zhǎng)度進(jìn)行保 存,獲取所述響應(yīng)碼格式節(jié)點(diǎn)中的響應(yīng)碼編碼信息節(jié)點(diǎn)的屬性值,將獲取到的屬性值作為 響應(yīng)碼編碼信息進(jìn)行保存;在所述查找模塊查找到所述第二明文節(jié)點(diǎn)時(shí),獲取所述第二明 文節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作為時(shí)間因子的初始值進(jìn)行保存;在所 述查找模塊查找到所述第三明文節(jié)點(diǎn)時(shí),獲取所述第三明文節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將 獲取到的文本內(nèi)容作為時(shí)間間隔值進(jìn)行保存;在所述查找模塊查找到所述第四明文節(jié)點(diǎn) 時(shí),獲取所述第四明文節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作為時(shí)間偏移量的 初始值進(jìn)行保存。
46. 如權(quán)利要求36所述的解碼裝置,其特征在于, 所述查找模塊,還用于在從所述密鑰包節(jié)點(diǎn)中查找到密鑰節(jié)點(diǎn)之后,從所述密鑰節(jié)點(diǎn) 中查找算法參數(shù)節(jié)點(diǎn),從所述算法參數(shù)節(jié)點(diǎn)中查找響應(yīng)碼格式節(jié)點(diǎn);在從所述密鑰節(jié)點(diǎn)中 查找到數(shù)據(jù)節(jié)點(diǎn)之后,從所述數(shù)據(jù)節(jié)點(diǎn)中查找計(jì)數(shù)器節(jié)點(diǎn),從所述計(jì)數(shù)器節(jié)點(diǎn)中查找第五 明文節(jié)點(diǎn); 所述第一獲取模塊,還用于在所述查找模塊查找到所述響應(yīng)碼格式節(jié)點(diǎn)時(shí),獲取所述 響應(yīng)碼格式節(jié)點(diǎn)中的響應(yīng)碼長(zhǎng)度節(jié)點(diǎn)的屬性值,將獲取到的屬性值作為響應(yīng)碼長(zhǎng)度進(jìn)行保 存,獲取所述響應(yīng)碼格式節(jié)點(diǎn)中的響應(yīng)碼編碼信息節(jié)點(diǎn)的屬性值,將獲取到的屬性值作為 響應(yīng)碼編碼信息進(jìn)行保存;在所述查找模塊查找到所述第五明文節(jié)點(diǎn)時(shí),獲取所述第五明 文節(jié)點(diǎn)的子節(jié)點(diǎn)的文本內(nèi)容,將獲取到的文本內(nèi)容作為事件因子的初始值進(jìn)行保存。
【文檔編號(hào)】H04L9/08GK104092537SQ201410314409
【公開(kāi)日】2014年10月8日 申請(qǐng)日期:2014年7月3日 優(yōu)先權(quán)日:2014年7月3日
【發(fā)明者】陸舟, 于華章 申請(qǐng)人:飛天誠(chéng)信科技股份有限公司