因为毕业设计的机缘巧合,接触了智能卡的开发。看了近一个月的PBOC 3.0金融规范,决定从实践中快速了解各种命令的发送以及响应。网上前辈的的各种博客文章,对于我这个智能卡开发几乎为零的小白来说无疑是最好的福音,所以也开始尝试着写写文章,记录一下学习的点滴,欢迎指错,与大家共勉~
幸运的是不用费心找读卡器和测试代码,因为这些都是现成的。
Select
首先第一步,选择MF(也就是选择文件名为“1PAY.SYS.DDF01”的PSE,如果是选择PPSE的话,把文件名修改成“2PAY.SYS.DDF01”即可)。
C_APDU:00A404000E325041592E5359532E4444463031
R_APDU:6F31840E325041592E5359532E4444463031A51FBF0C1C611A4F08
A000000333010102500B50424F4320435245444954870101
SW1SW2:9000
其中C_APDU中的00A40400是select对应的CLA,INS,P1和P2, 0E是发送的文件名的长度,后面就是“2PAY.SYS.DDF01”所对应的ASCII,LE可加可不加。R_APDU中AID由A000000333(RID)010102(PIX)组成,后PIX为010102标明了是贷记应用。