溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

APDU指令格式是怎么樣的

發(fā)布時(shí)間:2021-11-20 17:17:04 來(lái)源:億速云 閱讀:766 作者:小新 欄目:互聯(lián)網(wǎng)科技

這篇文章主要介紹了APDU指令格式是怎么樣的,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

APDU指令格式是怎么樣的


APDU指令格式是怎么樣的


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í)!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI