您好,登錄后才能下訂單哦!
這篇文章主要介紹了APDU指令格式是怎么樣的,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
CLA INS P1 P2 Lc Data Le
其中CLA為指令類別;INS為指令碼;P1、P2為參數(shù);Lc為Data的長(zhǎng)度;Le為希望響應(yīng)時(shí)回答的數(shù)據(jù)字節(jié)數(shù),0表最大可能長(zhǎng)度。
一 命令分類:
COS命令由具體應(yīng)用分為4種命令報(bào)文結(jié)構(gòu)如下:
① 情形1
CLA INS P1 P2 00
② 情形2
CLA INS P1 P2 Le
③ 情形3
CLA INS P1 P2 Lc Data
④ 情形4
CLA INS P1 P2 Lc Data Le
二 響應(yīng)報(bào)文
1) 響應(yīng)結(jié)構(gòu)
響應(yīng)數(shù)據(jù) 響應(yīng)狀態(tài)碼
Data SW1 SW1
DATA: 返回給用戶的數(shù)據(jù),即命令的執(zhí)行結(jié)果。
SW1、SW2: 返回命令處理的狀態(tài)。
三 命令集
1) Read Binary
功能:此命令用于讀取二進(jìn)制文件部分或全部的內(nèi)容。
CLA 00
INS B0
P1 見(jiàn)參數(shù)說(shuō)明
P2 從文件中讀取的第一字節(jié)的偏移地址
Le 期望讀出數(shù)據(jù)的長(zhǎng)度
2) Update Binary
功能:此命令使用給定的數(shù)據(jù)來(lái)更新二進(jìn)制文件部分或全部的內(nèi)容。
CLA 00
INS D6
P1 見(jiàn)參數(shù)說(shuō)明
P2 要修改的第一字節(jié)的偏移地址
Lc 后續(xù)數(shù)據(jù)域的長(zhǎng)度
Data 修改用的數(shù)據(jù)
3) Read Record
功能:此命令用于讀取記錄文件中指定記錄的內(nèi)容。
CLA 00
INS B2
P1 記錄號(hào)
P2 見(jiàn)參數(shù)說(shuō)明
Le 期望讀出數(shù)據(jù)的長(zhǎng)度
4) Update record
功能:此命令使用給定的數(shù)據(jù)來(lái)更新記錄文件中指定記錄的內(nèi)容。當(dāng)所指定的文件非記錄文件時(shí),命令將終止。
CLA 00
INS DC
P1 P1= 00 表示當(dāng)前記錄
P1≠ 00 表示指定的記錄號(hào)
P2 見(jiàn)參數(shù)說(shuō)明
Lc 后續(xù)數(shù)據(jù)域的長(zhǎng)度
Data 更新原有記錄的新記錄
5) Verify PIN
功能:此命令將校驗(yàn)給定的密碼的正確性,根據(jù)比較的結(jié)果修改安全狀態(tài),若校驗(yàn)失敗次數(shù)達(dá)到PIN嘗試上限,則PIN自動(dòng)鎖定。
CLA 00
INS 20
P1 00
P2
Lc 02 ~ 10
Data 外部輸入的個(gè)人密碼
6) Select File
功能:此命令使用文件名或應(yīng)用標(biāo)示符來(lái)選擇IC卡內(nèi)DF或EF。
CLA 00
INS A4
P1 00
P2 00
Lc 00 (選擇MF文件)/ 02
Data 無(wú) / FID
7) Get Challenge
功能:此命令請(qǐng)求IC卡返回一個(gè)用于安全相關(guān)過(guò)程的隨機(jī)數(shù)。
CLA 00
INS 84
P1 00
P2 00
Le 04
8) Get Response
功能:此命令為T(mén)=0協(xié)議情形4狀態(tài)下,用來(lái)取卡中返回的數(shù)據(jù)。
格式:
CLA 00
INS C0
P1 00
P2 00
Le 響應(yīng)的期望數(shù)據(jù)最大長(zhǎng)度
9) Internal Authenticate
功能:此命令將為外部設(shè)備驗(yàn)證卡中的秘密模塊的有效性提供數(shù)據(jù)。
CLA 00
INS 88
P1 00
P2 00 ~ 07 密鑰號(hào)
Lc 04
Data 外部隨機(jī)數(shù)(4字節(jié))
10) External Authenticate
功能:此命令將驗(yàn)證外部設(shè)備中的秘密模塊的有效性。
CLA 00
INS 82
P1 00
P2 00 ~ 07 密鑰號(hào)
Lc 0C
Data 發(fā)卡方認(rèn)證數(shù)據(jù)
11) Change / Unlock PIN
功能:修改、解鎖、安裝卡片個(gè)人密碼。
CLA 00
INS 5E
P1 00 修改卡片個(gè)人密碼
01 解鎖卡片個(gè)人密碼
02 安(重)裝卡片個(gè)人密碼
P2 密碼號(hào)
Lc
Data
12) Unlock Key
功能:解鎖卡片應(yīng)用密鑰。
CLA 00
INS 5C
P1 01 解鎖應(yīng)用密鑰
02 安裝卡片應(yīng)用密鑰
P2 密鑰號(hào)
Lc 無(wú) / 密鑰長(zhǎng)度
Data 無(wú) / 加密的密鑰
13) Create File
功能:此命令創(chuàng)建卡片文件系統(tǒng)。
CLA 00 / 80
INS F2
P1 00 / FTP 文件類型
P2 00 / FAC 文件訪問(wèn)控制條件
Lc 無(wú) / 07
Data
示例:
1 應(yīng)用選擇
(1)選擇MF(主文件)
CLA INS P1 P2 Lc Data
00 A4 00 00
P1=00選擇主文件
(2)根據(jù)應(yīng)用標(biāo)識(shí)符選擇應(yīng)用
CLA INS P1 P2 Lc Data
00 A4 04 0C 07 A0 00 00 02 47 10 01
P1=04 選擇DF(專用文件),此時(shí)數(shù)據(jù)域?yàn)镈F的文件名(AID應(yīng)用標(biāo)識(shí)符)
DF包括EF(基本文件)和其他DF
DF1:EF.COM、EF.DG1........................EF.DG16、EF.Sod
2 使用SELECT命令選擇基本文件
例:選擇機(jī)讀取區(qū)
CLA INS P1 P2 Lc Data
00 A4 02 0C 02 01 01
3讀二進(jìn)制
CLA INS P1 P2 Lc Data
00 B0 05 00 00 //讀取文件前256Byte
如果P1的最高位b8為1時(shí),b6和b7位必須為0,b5-b1位表示待讀取的基本文件的SFI;這時(shí)P2表示要讀取數(shù)據(jù)起始位置在文件中的偏移量。
如果P1的最高位為0時(shí),P1的后7位和P2相連共同組成了一個(gè)超過(guò)256的整數(shù),表示待讀取數(shù)據(jù)塊的起始位置在文件中的偏移量,可以用于超過(guò)256Byte文件的讀取。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“APDU指令格式是怎么樣的”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。