標籤:des style color 使用 os 檔案 資料 for
1. 消費交易
消費交易允許持卡人使用電子存摺或電子錢包的餘額進行購物或擷取服務.
特點:
1) --可以在銷售點終端(POS)上離線進行
2) --使用電子存摺進行的消費交易必須提交個人識別碼(PIN),使用電子錢包則不需要
步驟:
1) --參考複合應用消費交易
CPURESET()JE=00000001//消費金額DPK= 0000000000000000000000000000005500A40000021001805C000204(消費前金額+9000)//(見JR/T 0025.2的5.2.9條)805001020B+01+JE+000000000001+0F(XYSJ2+9000)YE=COPY(XYSJ2,1,8) //ED或EP餘額 4TJJYXH=COPY(XYSJ2,9,4) //離線交易序號 2 //透支限額 3 //密鑰演算法版本號碼(DPK)1 //演算法標識(DPK) 1WSJS=LAST(XYSJ2,8) //偽隨機數(IC卡) 4ECB_3DES_EN(WSJS+TJJYXH+0011,DPK,SESLK)//交易金額 + 交易類型標識 + 終端機編號 + 交易日期(終端)+ 交易時間(終端)3DES_MAC(0000000000000000+JE+06+000000000001+20090225+153030+800000000000,SESLK,MAC1)//DEBIT FOR PURCHASE/CASH WITHDRAW(見JR/T 0025.2的5.2.3條)//終端交易序號 + 交易日期(終端)+ 交易時間(終端)+ MAC1805401000F+00000011+20090225+153030+MAC1+08//TAC4//MAC24805C000204(消費後金額+9000)
2. 複合應用消費交易
複合應用消費交易允許持卡人使用電子錢包的餘額進行購物或擷取服務。此交易可以在終端裝置或其它讀卡裝置上離線進行。此交易無需提交個人識別碼(PIN)--(電子錢包專用).
特點:
--可以在終端裝置或其它讀卡裝置上離線進行;
--無需提交個人識別碼(PIN)
步驟:
--終端:發出INITIALIZE FOR CAPP PURCHASE命令啟動複合應用消費交易
--IC卡:檢查提供的金鑰索引號(NO:9403);檢查錢包是否被灰鎖(NO:9408);檢查電子錢包餘額是否大於或等於交易金額(NO:9401);產生一個偽隨機數(ICC)和過程密鑰
--SESPK:偽隨機數(ICC)||電子錢包交易序號||終端交易序號的最右兩個位元組
--終端:產生MAC1,供IC卡來驗證PSAM的合法性
--終端發出UPDATE CAPP DATA CACHE命令
--IC卡:檢查是否存在與SFI值相同的檔案(NO:6A82);查詢標識符的記錄(NO:6A83);檢查應用鎖定標誌位元組(NO:9407);檢查資料域長度是否大於相應記錄的長度(NO:6A84)
--終端:發出DEBIT FOR CAPP PURCHASE命令
--IC卡:驗證MAC1的有效性(NO:9302)
--IC卡:交易處理,扣減消費金額,交易序號加1,更新消費交易記錄,產生報文簽別碼(MAC2)
--終端:驗證MAC2
註:持卡人如需使用非接觸式金融IC卡在特定應用環境中進行交易,需先在卡片中增加相應複合應用類型,即啟用此類型的複合應用。——交易類型標識‘09’
CPURESET()00A40000021001//DPK 消費密鑰DPK=00000000000000000000000000000055JE=00000001//INTIALIZE FOR CAPP PURCHASE(見JR/T 0025.9的5.2.12條)805003020B+01+JE+000000000001+0F(DATA+9000)YE=COPY(DATA,1,8) //電子錢包餘額 4XH=COPY(DATA,9,4) //電子錢包交易序號 2 //透支限額 3 //密鑰演算法版本號碼(DPK) 1 //密鑰標識(DPK) 1WS=LAST(DATA,8) //偽隨機數(IC卡) 4ZDJYXH=00000001//計算過程密鑰SESLK ECB_3DES_EN(WS+XH+0001,DPK,SESLK) //計算MAC1,資料為:交易金額 + 交易類型(社保要轉為ACSII碼) + 終端機編號 + 交易日期 + 交易時間 + 80(補足長度)3DES_MAC(0000000000000000+JE+09+000000000001+20110106+120000+800000000000,SESLK,MAC1)//UPDATE CAPP DATA CACHE80DC01C8+20+011E00030B200905260000000000000000000000000000000000000000000000//DEBIT FOR CAPP PURCHASE805401000F+ZDJYXH+20110106+120000+MAC1+08
3. 修改透支限額交易
透支功能是一種基於電子存摺應用的有限信用功能。如果透支限額存在,電子存摺的餘額是實際圈存餘額與透支限額之和。
特點:
1) --必須在金融終端上聯機進行;
2) --必須提交個人識別碼(PIN)
步驟:
1) --終端:發出初始化修改透支現額(INITIALIZE FOR UPDATE)命令啟動修改透支限額交易
2) --IC卡:檢查是否支援提供的金鑰索引號(NO:9403),產生一個偽隨機數(ICC)、一個過程密鑰SESUK和一個報文鑒別碼(MAC1)
3) --終端: 驗證MAC1。
4) --終端: 用SESUK加密資料產生MAC2,並發出修改透支現額(UPDATE OVERDRAWLIMIT)命令
5) --IC卡:驗證MAC2的有效性
6) --IC卡:交易處理
--------------------見JR/T 0025.2的5.5.6條(未)
CPURESET()JE=00000001//消費金額DUK=7DAE5E53140A9170C21D5805EADB7E9A00A400000210010020000003+888888 //校正密碼//(見JR/T 0025.2的5.2.9條) 金鑰索引號+終端機編號8050040107+01+000000000001(XYSJ2+9000)YE=COPY(XYSJ2,1,8) //ED餘額 4TJJYXH=COPY(XYSJ2,9,4) //ED聯機交易序號 2YZXE=COPY(XYSJ2,13,6) //原透支限額 3 //密鑰版本號碼(DUK) 1 //演算法標識(DUK) 1WSJS=COPY(XYSJ2,23,8) //偽隨機數(IC卡) 4MAC1=LAST(XYSJ2,8) //MAC1 4//SESUK:偽隨機數(ICC)||電子存摺聯機交易序號||‘8000’ECB_3DES_EN(WSJS+TJJYXH+8000,DUK,SESLK)//電子存摺餘額 + 透支限額 + 交易類型標識 + 終端機編號3DES_MAC(0000000000000000+YE+YZXE+07+000000000001+8000,SESLK,_MAC1)//透支限額 + 交易類型標識 + 終端機編號 + 交易日期 + 交易時間3DES_MAC(0000000000000000+YE+YZXE+07+000000000001+20090225+153030+800000,SESLK,MAC2)//新透支限額+交易日期(發卡方)+ 交易時間(發卡方)+ MAC2805800000E+20090225+153030+MAC2(TAC+9000)