9118|20

57

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

请问手机与SIM卡的STK菜单进行命令交互时,发送的命令在卡中是如何存储的? [复制链接]

请问手机与SIM卡的STK菜单进行命令交互时,发送的命令在卡中是如何存储的?
例如:D0 5C 81 03 02 25 00 82 02 81 82 85 09 80 77 ED 4F E1 7F A4 53 D1 0F 0A 01 80 65 B0 7F 16 77 ED 4F E1 0F 0A 02 80 5D F2 65 36 77 ED 4F E1 0F 0A 03 80 7E C4 54 58 7B A1 74 06 0F 0A 04 80 58 9E 52 A0 7F A4 7E C4 0F 0A 05 80 7F A4 7E C4 65 39 54 0D 0F 0A 06 80 52 20 96 64 7F A4 7E C4
以上的是一个用FETCH 命令获得卡所发送的主动命令,那些主动命令在卡中是如何管理的?
希望做过这方面的专业人士给点指教

最新回复

mark UP  详情 回复 发表于 2009-2-23 17:13
点赞 关注

回复
举报

58

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
当一个terminal response命令到来的时候,卡就根据terminal response中的result的值来决定如何操作,如果是 "返回",则卡会将流程跳到相应的地方,一般是上一级菜单处,那个地方自然会组织上一级菜单的内容,这些内容就是设为XX,然后手机返回91XX.同样,如果是 “确定”,卡也会在流程中组织不同的菜单,但是如果是“取消”,卡一般就不做操作了,返回9000

在手机看来,每次执行terminal response指令,卡都会返回91xx或9000。如果是91xx,则执行并将结果结果给卡。
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
机----------terminal profile
卡----------------91xx
机-----fetch xx
卡------9000
机-----terminal response
卡-----9000(或91xx)

机---------envelope menu selection--------卡在这里就执行了下一步的操作,但是数据并不马上要返回给手机,要等待手机的fetch
卡---------91xx
机---------fetch
卡----------9000

机-------terminal response
卡--------91xx或9000
机---------fetch
卡----------9000

......
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

4
 
十分感谢你的回答
另外我还想问些问题,
A0 10 00 00 06 FF FF FF FF FF FF
91 5E
//FETCH
A0 12 00 00 5E
D0 5C 81 03 02 25 00 82 02 81 82 85 09 80 77 ED 4F E1 7F A4 53 D1 0F 0A 01 80 65 B0 7F 16 77 ED 4F E1 0F 0A 02 80 5D F2 65 36 77 ED 4F E1 0F 0A 03 80 7E C4 54 58 7B A1 74 06 0F 0A 04 80 58 9E 52 A0 7F A4 7E C4 0F 0A 05 80 7F A4 7E C4 65 39 54 0D 0F 0A 06 80 52 20 96 64 7F A4 7E C4
90 00
//ENVELOPE
A0 C2 00 00 09 D3 07 82 02 01 81 90 01 02
91 8C
以上是通过显示一级菜单选择第二个项目
在ENVELOPE命令,最后那三个字节90 01 02说明选第二项
那么卡接收到ENVELOPE命令,怎么知道是选择一级菜单的第二个项呢?在ENVELOPE命令里面好像没有明确指出哪个字节是代表第一级菜单?

还有GSM11.14里面说的SELECT ITEM这些类似命令,编代码时应如何实现?可以给些代码出来给我参考吗?
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

5
 

//
TERMINAL PROFILE
A0 10 00 00 06 FF FF FF FF FF FF
91 5E
//91 5E 是返回状态,表示---成功,有94 个字节的信息等待FETCH
//未详细分析

//
FETCH
A0 12 00 00 5E
D0 5C 81 03 02 25 00 82 02 81 82 85 09 80 77 ED 4F E1 7F A4 53 D1 0F 0A 01 80 65 B0 7F 16 77 ED 4F E1 0F 0A 02 80 5D F2 65 36 77 ED 4F E1 0F 0A 03 80 7E C4 54 58 7B A1 74 06 0F 0A 04 80 58 9E 52 A0 7F A4 7E C4 0F 0A 05 80 7F A4 7E C4 65 39 54 0D 0F 0A 06 80 52 20 96 64 7F A4 7E C4
90 00
//--D0 5C 其中D0是FETCH的Proactive SIM Command tag5C 表示后面的数据总体长度为92
//----81 03 02 25 00 其中
//------
81 Command detials tag03 是长度( 3 ),02 Command number,
//------
25 Command Type表示,SET UP MENU
//------
00 表示no selection preference;
//----82 02 81 82 其中
//------
82 Device identities tag02 是长度( 2 ),
//------
81 82 是设备号,表示SIM->ME
//----85 09 80 77 ED 4F E1 7F A4 53 D1 其中
//------
85 Alphabet identifier tag09 是长度( 9 ),80 是UCS2编码方案,
//------
77 ED 4F E1 7F A4 53 D1 表示"短信群发"
//----0F 0A 01 80 65 B0 7F 16 77 ED 4F E1 其中
//------
0F Item Data tag0A 是长度( 10 ),01 Item ID80 是UCS2编码方案,
//------
65 B0 7F 16 77 ED 4F E1 表示"新编短信"
//----0F 0A 02 80 5D F2 65 36 77 ED 4F E1 其中
//------
0F Item Data tag0A 是长度( 10 ),02 Item ID80 是UCS2编码方案,
//------
5D F2 65 36 77 ED 4F E1 表示"已收短信"
//----0F 0A 03 80 7E C4 54 58 7B A1 74 06 其中
//------
0F Item Data tag0A 是长度( 10 ),03 Item ID80 是UCS2编码方案,
//------
7E C4 54 58 7B A1 74 06 表示"组员管理"
//----0F 0A 04 80 58 9E 52 A0 7F A4 7E C4 其中
//------
0F Item Data tag0A 是长度( 10 ),04 Item ID80 是UCS2编码方案,
//------
58 9E 52 A0 7F A4 7E C4 表示"增加群组"
//----0F 0A 05 80 7F A4 7E C4 65 39 54 0D 其中
//------
0F Item Data tag0A 是长度( 10 ),05 Item ID80 是UCS2编码方案,
//------
7F A4 7E C4 65 39 54 0D 表示"群组改名"
//----0F 0A 06 80 52 20 96 64 7F A4 7E C4 其中
//------
0F Item Data tag0A 是长度( 10 ),06 Item ID80 是UCS2编码方案,
//------
52 20 96 64 7F A4 7E C4 表示"删除群组"
//90 00 是返回状态,表示---成功

//
ENVELOPE
A0 C2 00 00 09 D3 07 82 02 01 81 90 01 02
91 8C
//D3 07 其中D3 是ENVELOPE的Menu Selection tag07 表示后面的数据总体长度为7
//----82 02 01 81 其中
//------
82 Device identities tag02 是长度( 2 ),
//------
01 81 是设备号,表示Keypad->SIM
//----90 01 02 其中
//------
90 Item identifier tag01 是长度( 1 ),
//------
02 是表示用户选中的item的ID,在"01"与"FF"之间有效,"00"表示无效
//91 8C 是返回状态,表示---成功,有140 个字节的信息等待FETCH
 
 
 

回复

54

帖子

0

TA的资源

一粒金砂(初级)

6
 
对啊,这些我在你的另外一张帖里也看到,流程也基本明白
可是我不明白的就是,规范里面提到的命令有select item ,display text,sent short message等,而这些命令也是嵌套在D0 5C 81 03 02 25 00 ....
主动命令里面,那么怎样实现他们的功能,还是这些命令所实现的功能根本不需要在卡里面实现,只不过是把这些命令的字节码发送给手机,由手机来实现的?
你做过这方面的内容,可以随便给一条命令的编程代码给我看看吗?
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

7
 
在机------卡系统里面,手机是个终端,而终端的定义就是-------具有输入输出功能无运算功能的辅助设备,终端起源于unix系统,一个unix主机可以带有多个终端,一般情况下,unix终端只具有显示来自unix主机的数据以及将用户的输入传给unix主机的功能。

手机做为一个终端同样也是这样,手机的作用就是解释这一串来自卡的数据,并将结果用terminal response指令传卡。

编程是一整套的东西协作的,单独一条语句是无法实现的,任何一个指令的完整实现实际上都参与了从输入到输出的整个过程,STK的核心就是组织stk数据,这些数据如何组织从来就没有规定,只有组成后的规定。
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

8
 
在机------卡系统里面,手机是个终端,而终端的定义就是-------具有输入输出功能无运算功能的辅助设备,终端起源于unix系统,一个unix主机可以带有多个终端,一般情况下,unix终端只具有显示来自unix主机的数据以及将用户的输入传给unix主机的功能。

手机做为一个终端同样也是这样,手机的作用就是解释这一串来自卡的数据,并将结果用terminal response指令传卡。

编程是一整套的东西协作的,单独一条语句是无法实现的,任何一个指令的完整实现实际上都参与了从输入到输出的整个过程,STK的核心就是组织stk数据,这些数据如何组织从来就没有规定,只有组成后的规定。
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

9
 
想问下,现在STK生成的菜单都用ota脚本格式,这个ota脚本格式是不是指有现成的一套框架,写那些菜单数据组合的程序时直接在此基础上写代码?
独立于cos使用?
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

10
 
引用 8 楼 zyq8329849 的回复:
想问下,现在STK生成的菜单都用ota脚本格式,这个ota脚本格式是不是指有现成的一套框架,写那些菜单数据组合的程序时直接在此基础上写代码?
独立于cos使用?

嗯,ota也有byte code,不过比起java的byte code,功能弱很多,标准的脚本到各厂商应该同样的执行。
 
 
 

回复

91

帖子

0

TA的资源

一粒金砂(初级)

11
 
感谢楼上对我问题的回答
我还想咨询一下,STK的数据交互控制流程,在卡的初始化时,要以数字串的形式首先确定下来,然后存储到RAM或者文件里面的吗?
换句话来说,就是在数据交互流程中,程序要按照流程数字串的顺序来执行。
倘若没有那个流程控制数字串的话,那么程序通过什么途径可以获得执行到的位置,然后返回相对应的长度和数据?
 
 
 

回复

88

帖子

0

TA的资源

一粒金砂(初级)

12
 
程序流程是卡控制的,卡自然知道当前的流程,而手机从来关心流程。
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

13
 
请教楼上两位大侠,像Fetch,Terminal Response等命令的十六进制编码是多少啊?在什么资料上可以查到阿,谢谢了
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

14
 
fetch是 12
terminal response 是 10

查11.14
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

15
 
谢谢jennyvenus,看过你的博客,很受启发,谢谢。不过我在11.14上没有找到fetch,terminal response的编码啊?晕,我认真找过的,对了,我下载的版本是1996.12月版的V5.2.0
另外,从你博客上的实例分析来看,0x10好像是terminal profile吧,真心请教
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

16
 
嗯,昨晚下班后醒悟过来,今早赶紧过来纠正,还是晚了一步

10 terminal profile
12 fetch
14 terminal response
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

17
 
各位,能否用PC串口直接操作SIM卡呢,能提示个办法吗?我有串口读卡器。
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

18
 
引用 16 楼 ltisn 的回复:
各位,能否用PC串口直接操作SIM卡呢,能提示个办法吗?我有串口读卡器。


当然可以。先按读卡器的开发文档联接好读卡器,然后就是apdu层次的事情了。
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

19
 
请问ENVELOPE这个命令是干什么的呢?其他三个机卡命令我是知道了
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

20
 
还有我想问下,一个完整的process的标签试用是则样的呢?比如说,如果用户要下载一个菜单都会试用哪些标签呢?是否还需要试用扩展指令呢?

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表