




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、多应用开放平台应用接入开发指引修改历史姓名版本完成时间备注许旭2014-5-7初次建立该文档目录1术语52平台概况52.1平台概述53开发范围53.1应用模式53.2应用客户端63.3NFC-SIM卡应用63.4业务平台64开发流程65流程说明75.1应用流程7下载7删除9应用更新106卡应用开发指南116.1卡应用开发模式116.2卡应用开发要求126.3密钥交换流程126.4卡应用开发126.5卡应用发布更新127客户端开发指南127.1应用客户端开发要求127.2客户端开发准备127.3设置开发环境137.4客户端开发16创建工程16编写AndroidManifest.xml文件16手机
2、客户端开发编码17代码示例183.1客户端发布更新184业务平台开发指南184.1接口描述18WebService名字空间18接口列表18数据类型说明19数据域说明19消息类型描述215.5.1. CreateSSDReq255.5.2. CreateSSDReqResponse255.5.3. DeleteSSDReq255.5.4. DeleteSSDReqResponse265.5.5. UpdateDomainKeyReq265.5.6. UpdateDomainKeyReqResponse265.5.7. DownloadApplicationReq275.5.8. Download
3、ApplicationReqResponse275.5.9. ApplicationAPDUReq275.5.10. ApplicationAPDUReqResponse285.5.11. DeleteApplicationReq285.5.12. DeleteApplicationReqResponse295.5.13. LockApplicationReq295.5.14. LockApplicationReqResponse295.5.15. AcquireTokenReq295.5.16. AcquireTokenReqResponse305常见问题301 术语术语解释BOSSBusi
4、ness Operation Support System 业务运营支撑系统2 平台概况2.1 平台概述NFC手机钱包是中国移动向各个应用合作方开放的一套完整的NFC业务端到端的解决方案,可以向应用合作方开放NFC手机终端非接式卡模拟能力、多应用管理平台(TSM)业务接口、NFC-SIM上的安全存储空间、和包客户端集成接口等NFC应用各个环节上所需的资源,帮助各个应用合作方根据自身业务流程开发出支持不同业务的NFC应用,并集成在中国移动NFC手机钱包这个大的业务平台中,统一向所有中国移动的用户进行推广。 本文档是用于对各应用合作方开发各自的NFC应用进行一个基础性的技术指引,明确产品开发的一个
5、基本流程,提供开发过程中可能需要用到的各类技术文档的索引,并对开发过程中可能遇到的技术问题进行解答。 本文档适用于NFC手机钱包应用产品开发技术人员阅读3 开发范围3.1 应用模式NFC应用包含几下几种模式,每次模式对应的开发范围也是不一样的,几种应用模式开发范围如下:1、 纯客户端模式应用所有功能均直接由应用客户端实现,应用的相关数据没有安全存储要求,均可随客户端一起直接存储于手机的存储空间中。典型应用有:NFC名片应用。2、 客户端结合卡应用模式应用的业务功能由应用客户端与NFC-SIM卡应用交互完成,应用中涉及用户敏感数据,需要将其存储在NFC-SIM的安全存储空间中,确保数据安全。典型
6、应用有:简单公交卡应用(不支持空中开卡、空中充值)、旅游卡、电子门票等。3、 客户端、卡应用加业务平台模式应用的业务功能由应用客户端与NFC-SIM卡应用、业务平台交互完成,客户端本地与NFC-SIM交互,实现应用数据在SIM卡上的安全存储,客户端远端通过移动互联网与业务平台交互,实现相应的业务功能。典型应用有:金融PBOC应用、公交卡应用(支持空中开卡、空中充值)。3.2 应用客户端 应用客户端开发包含应用客户端的界面交互设计、客户端业务处理逻辑以及对NFC-SIM卡的访问逻辑。3.3 NFC-SIM卡应用 NFC-SIM卡上应用处理逻辑,包括卡应用文件结构定义与实现、卡应用与客户端交互指令
7、的定义与实现、卡应用与非接受理机具交互指令的定义与实现。3.4 业务平台 实现NFC应用业务平台侧的相关处理功能,通过与TSM平台对接,可以由业务平台侧获取到用户手机号状态变更、业务订购关系变化等通知信息,以便进行相应的业务处理。4 开发流程5 流程说明5.1 应用流程5.1.1 下载正常流程:1、 用户在和包客户端卡应用超市点击应用下载。2、 和包客户端向多应用开放平台发送应用下载请求。3、 多应用开放平台向业务平台发起“预操作请求”(SessionType为1)。4、 业务平台审核用户下载请求,如果审核通过返回0000;否则返回错误码和错误信息,预处理响应中ProviderSessionI
8、D字段不能为空,该值由业务平台生成并保证唯一性。5、 多应用开放平台向和包客户端返回写卡指令。6、 和包客户端和多应用开放平台多次交互完成辅助安全域创建、辅助安全域初始密钥加载、SE应用下载、安装。7、 多应用开放平台向业务平台发起“SE操作反馈请求”,SessionID与“预操作响应”的ProviderSessionID一致。8、 业务平台返回结果。9、 下载应用客户端插件。10、 和包客户端主界面显示新下载的应用图片。11、 用户点击卡片图片启动客户端插件。12、 用户在客户端插件中申请卡片。13、 客户端插件向银行后台发送用户申请请求。14、 通知用户申请通过。15、 用户再次进入客户端
9、插件。16、 客户端插件从银行获取个人化数据对应用进行个人化。17、 完成应用下载。说明:1、 如果辅助安全域在SIM卡上已经存在,不会重复创建辅助安全域5.1.2 删除1、 用户在客户端插件中发起注销卡请求。2、 银行业务平台处理用户注销卡请求,并通过客户端插件处理卡上余额。3、 用户在和包客户端应用管理界面请求删除应用。4、 和包客户端向多应用开放平台发送应用删除请求。5、 多应用开放平台向业务平台发起“预操作请求”(SessionType为2,SessionID为新生成)。6、 业务平台审核用户下载请求,如果审核通过返回0000;否则返回错误码和错误信息,预处理响应中ProviderSe
10、ssionID字段不能为空,该值由业务平台生成并保证唯一性。7、 多应用开放平台向和包客户端返回写卡指令。8、 和包客户端和多应用开放平台多次交互完成SE应用删除。9、 多应用开放平台向业务平台发起“SE操作反馈请求”,SessionID与“预操作响应”的ProviderSessionID一致。10、 业务平台返回结果11、 和包客户端删除应用的客户端12、 应用删除完成说明:1、 用户卡片个人化后未进行注销操作,银行业务平台应该在“预操作请求”时返回错误信息提示用户先进行注销,避免卡上有余额造成用户损失。2、 完成应用删除后如果辅助安全域中没有其他应用,将会删除该辅助安全域。5.1.3 应用
11、更新1、 用户在手机钱包客户端主界面请求更新应用。2、 手机钱包客户端向多应用开放平台发送应用更新请求。3、 多应用开放平台向业务平台发起“预操作请求”(SessionType为3,SessionID为新生成)。4、 业务平台审核用户下载请求,如果审核通过返回0000;否则返回错误码和错误信息,预处理响应中ProviderSessionID字段不能为空,该值由业务平台生成并保证唯一性。5、 多应用开放平台向手机钱包客户端返回写卡指令。6、 手机钱包客户端和多应用开放平台多次交互完成SE应用更新。7、 多应用开放平台向业务平台发起“SE操作反馈请求”,SessionID与“预操作响应”的Prov
12、iderSessionID一致。8、 业务平台返回结果,如果需要进行个人化,响应报文中含个人化数据9、 如果业务平台响应报文中不含个人化数据,跳到15,否则。10、 多应用开放平台向手机钱包客户端返回个人化指令。11、 手机钱包客户端依次向SE发送个人化APDU指令,直到所有APDU执行完毕,或卡片返回错误(SW不为9000)。12、 手机钱包客户端向多应用开放平台返回最后一条APDU执行结果。13、 多应用开放平台向业务平台发起“SE操作反馈请求”,SessionID与“预操作请求”时一直,通过CardPOR发送最后一条APDU执行结果。14、 重复9到13步直到个人化过程完成。15、 多应
13、用开放平台向手机钱包客户端返回结果。16、 应用更新完成。异常处理1、 第4步时,业务平台对本次更新请求审核不通过,向用户提示业务平台返回的错误信息,流程结束。2、 第5-6步过程中出现异常,用户可以在手机钱包主界面重新请求更新应用,重新更新应用时会再次向业务平台发起“预操作请求”。3、 卡片执行个人化指令时,指令执行的结果通过“SE操作反馈请求”发送给业务平台,由业务平台判断当指令执行状态字(SW)不为9000时是否继续执行。4、 第7-14步过程中发生错误,用户可以在手机钱包主界面对该应用进行删除操作,或在应用超市界面重新下载该应用。用户在应用超市重新下载改应用时,多应用平台会重新发起预处
14、理请求,然后删除实例并重新创建,再重新执行7-14步的流程。6 卡应用开发指南6.1 卡应用开发模式l 移植模式如果卡应用之前已经在IC卡上实现,那么只需要将原卡应用的文件结构,指令定义提交给NFC-SIM卡的卡商,便可由卡商协助完成卡应用的移植工作。l 委托开发模式如果卡应用需全新开发,可以将卡应用的需求描述清楚,委托NFC-SIM卡的卡商进行开发。因为卡应用开发需要对卡片有一定了解,具有较强的专业性,建议采用委托卡商开发的模式来完成卡应用开发。现阶段,各家卡商为了推广卡片,提升市场占有率,一般会比较积极的接收开发需求。6.2 卡应用开发要求1、 空间要求:金融类卡应用对RAM空间占用不超过
15、1.5K,其他卡应用对RAM空间占用不超0.5K。2、 卡应用返回码要求:除61xx - 6Fxx & 9xxx外的返回码都是非法的状态字,可能会对卡片产生影响,卡应用需严格控制。6.3 密钥交换流程如果卡应用有申请独立的辅助安全域,则需要对辅助安全域的初始密钥者约定,密钥约定有两种操作模式,一种是由应用合作方提供初始密钥,将密钥码单通过密码信封提供给电子商务基地,另一种是电子商务基地生成初始密钥,并将密钥码单通过密码信封提供给应用合作方。6.4 卡应用开发一个典型的Java Card设备有一个8或16位的运行在3.7MHz的中央处理器,带有1K的RAM和多于16K的非易失性存储器(可
16、编程只读存储器或者闪存)。高性能的智能卡带有单独的处理器和加密芯片,以及用于加密的内存,并且有一些还带有32位的中央处理器。Java Card技术规范目前是2.2版,由三部分组成:1. Java Card虚拟机规范,定义了用于智能卡的Java程序语言的一个子集和虚拟机。2. Java Card运行时环境规范,进一步定义了用于基于Java的智能卡的运行期行为。3. Java Card应用编程接口规范,定义了用于智能卡应用程序核心框架和扩展Java程序包和类。6.4.1 JavaCard开发教程之程序元素完整的Java Card应用程序由一个后端应用程序和系统、一个主机(卡外)应用程序、一个接口设
17、备(读卡器)和卡上小应用程序、用户证书和支持软件组成。所有的这些元素共同组成一个安全的端到端应用程序:一个典型的Java Card应用程序不是孤立的,而是包含卡端、读取端和后端元素。让我们更详细的讲述一下每个元素。 后端应用程序和系统后端应用程序提供了支持卡上Java小应用程序的服务。 例如,一个后端应用程序可以提供到安全系统和卡上的证书的连接,提供强大的安全性。在一个电子付款系统中,后端应用程序可以提供到信用卡及其他付款信息的访问。读取端主应用程序主应用程序存在于一个例如个人计算机这样的台式机或者终端、电子付款终端、手机或者一个安全子系统中。主应用程序处理用户、Java Card小应用程序和
18、供应商的后端应用程序之间的通讯。读取端卡片接受设备卡片接受设备(CAD)是处于主应用程序和Java Card设备之间的接口设备。一个CAD为卡片提供电力,以及与之进行电子或者射频通信。一个CAD可能是一个使用串行端口附于台式计算机的读卡器,或者可能被整合到终端内,例如饭店或者加油站内的电子付款终端。接口设备从主应用程序到卡片转送应用程序协议数据单元( Application Protocol Data Unit,简称APDU)命令(在后面讨论),并且从卡片向主应用程序转送响应。一些CAD有用于输入个人识别号码的键盘,有的可能还有显示屏。卡片端小应用程序和环境Java Card平台是一个多应用程
19、序环境。卡片上可能存在一个或多个Java Card小应用程序,还有支持软件-卡片的操作系统和Java Card运行时环境(JCRE)一起。JCRE由Java Card虚拟机、Java Card Framework和应用程序编程接口以及一些扩展应用程序编程接口组成。所有的Java Card小应用程序扩展Applet基本类,并且必须实现install()和process()方法;JCRE在安装小应用程序的时候调用install(),并且在每次有一个进入的用于小应用程序的APDU的时候调用process()。Java Card小应用程序在被装载的时候实例化,并且在断电的时候保持运行。Java Car
20、d小应用程序起一个服务器的作用,并且是无源的。在一张卡片被加电以后,每个小应用程序都保持非运行的状态直到它被选择,在此时可能会做初始化。小应用程序只有在一个APDU被发送给它以后才被激活。与Java Card小应用程序通讯(访问智能卡)可以使用两种模型中的任何一种来在一个主应用程序和一个Java Card小应用程序之间通信。第一个模型是基本消息传送模型,第二种是基于Java Card远程方法调用(JCRMI),这是J2SE RMI分布式对象模型的一个子集。此外,SATSA通过一个基于更加抽象的应用编程接口的普通连接框架(Generic Connection Framework,简称GCF)应用
21、编程接口,让你要么使用消息传递要么使用JCRMI来访问智能卡。6.5 卡应用发布更新1 准备客户端信息实例如果有多个,则需要填写多个实例信息,模块AID,实例AID安装参数也需要一并提供a) 应用AIDb) cap包数量c) 文件下载顺序d) 文件删除顺序e) 填写应用名称f) 文件AIDg) 文件加载参数h) 实例数量i) 实例1i. 模块AIDii. 实例AIDiii. 安装参数j) k) 实例N2 填写TSM应用发布提交物列表。3 提交到中国移动电子商务有限公司等待发布7 客户端开发指南7.1 应用客户端开发要求应用客户端必须集成于和包客户端启动运行,要求不能有独立的启动入口,需对安装过
22、程中的打开按钮进行屏蔽,并且不能生成桌面图标。和包客户端在启动应用客户端时,会为应用客户端提供手机号、SEID等信息,以更应用客户端进行相应的业务处理。7.2 客户端开发准备l 首先开发者要有必须的Java开发基础,如果需要相关的知识,可以参考一下Java Tutor:l 配置Eclipse集成开发环境,如果没有Eclipse的话,到Eclipse的官方网站上去下载l 安装了Eclipse后,还要在Eclipse下安装ADT插件。如果没有ADT插件,下载地址为:l 开发者必须要具有Android应用的开发经验。 想获取更多的Android开发知识,请参考:l 开发用的设备必须支持Open Mo
23、bile API,是否支持这个API跟Android系统的版本和编译情况有关系。目前支持NFC功能的终端设备,多数都支持此API。比如三星S3、S4、Note3;HTC M7;小米3等等l SIM卡的支持,在手机上开发和钱包的应用客户端,需要跟SIM卡的安全模块通信,所以需要办理支持NFC功能的SWP-SIM。具体办理方式可以咨询10086,测试SIM卡的办理,可以联系移动电子商务基地。7.3 设置开发环境l Eclipse的开发环境需要配置一下,以便能够使用Google官方最新的SDK版本。开发者安装ADT的过程如下:n 点击Help菜单,选择Install New Softwaren 在I
24、nstall的对话框里,选择Add Repository,点Archive,选中你已经下载好的ADT插件,根据Wizard的提示,完成安装工作l 然后可以通过SDK Manager去下载相应的SDK版本,手机钱包客户端要求Android的版本不低于2.2,API Level最低为8:l 运行SDK Manager,选中要安装的SDK即可,这些SDK必须要支持Open Mobile API。具体操作方法如下:n 运行Android SDK Managern 点击 Tools -> Manage Add-on Sites.n 选择User Defined Sit
25、es 点击New,添加,关闭对话框n 不同的Android版本,对应着不同的API levels:u 15-u 16-未发布u 15-n 重新加载Package列表:在菜单上选择: Packages -> Reloadn Package列表刷新后,选择 Open Mobile API under Android 4.2.2 并且安装这个add-on packagen 通过SDK Manager安装Open Mobile API addon package,接下来就可以开发安全模块(Secure Element)相关的应用程序了.n Open Mobile API的相关文档参见下面附件:l
26、 完成安装后,重启Eclipse,就可以使用下载好的SDK了。l 注意:如果下载的Android SDK中没有Open Mobile API的Addon,可以直接以第三方jar包的方式引入openMobileAPI.jar文件。需要注意的是在编译apk的时候,不要把此jar文件打入到apk中。l 具体的做法是:在工程的Java Build Path中,创建一个User Library,在此Library中添加openMobileApi.jar,做法如下图,这样在导出的apk中就不包含openMobileApi.jar的内容了。在此处该jar只做编译用,运行时调用手机系统自己的相关类文件。l 在
27、Order and Export设置中,选择不导出包含OpenMobileAPI的的lib。具体做法如下图:l Open Mobile API的jar文件只做编译用,文件如下:7.4 客户端开发下面简单介绍和包客户端开发过程。7.4.1 创建工程1. 使用Eclipse的wizard, 创建新的Android工程,选择Android Application Project,点击 Next之后,填充工程的基本属性。2. 选择Create Activity -> BlankActivity 点击Next。3. 输入activity名称: MainActivity 点击完成,创建新的工程。7.
28、4.2 编写AndroidManifest.xml文件1 在Android应用程序中,使用Manifest.xml文件来描述应用程序的基本属性。在编写Manifest的时候应该注意两点个需要声明uses-permission,获得smarcard操作的相关权限。如果用的NFC相关的API,还需要声明NFC相关的权限。2 另外一个就是声明uses-library,使用系统的Open Mobile API相关的lib。这个地方required为true和false都行。这个标签主要用于应用市场过滤应用程序。如果为true,则对不支持Open Mobile API的手机屏蔽此应用。3 关于Andro
29、id Manifest声明的相关方法,请参考uses-library element 的官方文档,地址为: 7.4.3 手机客户端开发编码编码还需要实现具体业务的APPLICATION类与工具类APPLICATION类实现1. DEMO中创建了SlaveApp类,主要目的是为整个应用提供一个重要的全局变量:SlaveClient类变量。在该类中,先定义了一个成员变量。2. 在Application的onCreate函数中对这个成员变量初始化。其中ConnectService函数完成对手机钱包服务的通信连接。3. 在完成初始化之后,对外提供函数,以便使用SlaveClient变量。4. 在使用完
30、SlaveClient后,需要释放资源。所以在Application的提供了exitApp() 函数。此函数中,调用SlaveClient的shutDown函数。5. 实现这个三个主要函数后,SlaveApp的功能就基本实现了。工具类的实现1. 整个Demo中,最重要的部分就是这个工具类,即SIMCardUtil类。首先看该类的实现方式:由于该类时用于打开逻辑通道,跟安全模块进行通信的,所以该类设计为单实例的。2. 在此类中,定义了三个成员变量:a) private SEService mSEService;b) private Session mSession;c) private Stri
31、ng errMsg;3. mSEService是创建的服务,mSession是对当前会话的缓存。errMsg是用来记录上次打开逻辑通道时的错误信息。整个程序的初始化流程大致如下:u 创建SEServiceu 获取Readeru 选取SIM相关的Readeru 获取Sessionu 打开逻辑通道4. 因此,在获取到SIMCardUtil实例之后,要调用其init函数进行初始化。该函数主要功能是创建了SEService。5. 在创建SEService的时候,有两个参数,一个是Context,通常用当前Activity作为参数;另外一个是SEService.CallBack接口,这个参数非常重要。6
32、. 当SIM卡的安全模块如果连接成功,采用异步回调的方式来通知应用程序。也就是当Service连接成功, SEService.Callback的函数serviceConnected()将会被调用。在这个工程里面,内嵌类SEServiceCallbackImpl实现了SEService.CallBack接口,因此它的serviceConnected将会被调用7. 在进行回到的时候,先对mSEService进行赋值,然后对Session进行了初始化,也就是调用了initSession函数。也就是说只有确定SEService连接成功,才能进行Session的初始化,只有Session初始化完成,才能
33、打开逻辑通道,这个操作时序不能错。8. 在初始化Session的时候,会对mSEService的值进行判断是否为null。然后获取Reader。如果设备终端上只有一个安全模块,Reader就只有一个。当然也可能存在多个的情况。所以需要对Reader进行选择,选中名称中含有SIM或者UICC字段的Reader。这个Reader是对应SIM卡的。9. 当Session初始化完成之后,就可以在需要的情况下打开逻辑通道,打开逻辑通道的关键代码只有一句,就是调用Session的openChannel函数,但是由于执行此函数可能会报错的情形比较多,所以要对其异常情况进行处理,加以区分不同类型的异常,方便错
34、误的排查。10. 当该类使用完毕之后,注意关闭Session,释放资源,下次使用是,再重新初始化。7.4.4 代码示例具体示例代码及DEMO参考3.1 客户端发布更新1. 准备客户端信息a) apk文件b) 客户端名称c) 启动包名d) 启动类名e) 版本编号f) 版本名称g) 客户端截图2. 填写TSM应用发布提交物列表。3. 提交到中国移动电子商务有限公司等待发布8 业务平台开发指南8.1 多应用平台与业务平台接口描述8.1.1 WebService名字空间名称uriSOAP-ENVsimota8.1.2 接口列表接口名称消息类型(请求/响应)消息方向(发起方/被调用方)预操作请求PreO
35、perationsReq/PreOperationsReqResponse多应用开放平台->业务平台SE操作反馈OperationResultNotify/OperationResultNotifyResponse多应用开放平台->业务平台用户状态变更TsmNotifyReq/TsmNotifyReqResponse多应用开放平台->业务平台业务事件通知EventNotifyReq /EventNotifyReqResponse业务平台->多应用开放平台创建安全域CreateSSDReq/CreateSSDReqResponse 业务平台->多应用开放平台安全域删
36、除DeleteSSDReq/DeleteSSDReqResponse业务平台->多应用开放平台安全域密钥更新UpdateDomainKeyReq/UpdateDomainKeyReqResponse业务平台->多应用开放平台应用下载DownloadApplicationReq/DownloadApplicationReqResponse业务平台->多应用开放平台个人化管理ApplicationAPDUReq/ApplicationAPDUReqResponse业务平台->多应用开放平台应用删除DeleteApplicationReq/DeleteApplicationR
37、eqResponse业务平台->多应用开放平台应用锁定/解锁LockApplicationReq/LockApplicationReqResponse业务平台->多应用开放平台获取TokenAcquireTokenReqLock/AcquireTokenReqResponse业务平台->多应用开放平台8.1.3 数据类型说明类型说明DEC10进制数字HEX16进制字符串,长度必须是2的倍数STRING字符串8.1.4 数据域说明数据域数据类型备注最大长度simota:SynTypeDEC应用、安全域同步类型1:增加2:修改3:删除.1simota:AppAIDHEX应用AID
38、及实例AID16simota:SEIDHEXSEID10simota:FileNameSTRING如果是应用、安全域同步,FileName为AppAIDsimota:FileContentHEX个人化数据64Ksimota:DomainAIDHEX安全域AID16simota:AppNameSTRING应用名称100simota:StatusCodeSTRING状态码4simota:StatusDescriptionSTRING状态描述60simota:SeqNumSTRINGyyyyMMdd24hmmssxxxxxx,xxxxxx为6位流水号 SeqNum与业务无关,应保证每个请求数据包中S
39、eqNum的唯一性20simota:CommTypeDEC承载方式1:SMS/BIP(后台客服人员WEB管理界面发起,终端用户短信、STK、WEB或WAP发起);2:应用管理器,3:终端客户端1simota:MsisdnSTRING手机号码20simota:OrgMsisdnSTRING原手机号码20simota:KeyVersionHEX密钥版本1simota:DomainKey节点安全域密钥simota:KeyIDHEX密钥ID2simota:KeyTypeHEX密钥类型2simota:KeyValueHEX密钥值32simota:KeyCheckHEX密钥校验码6simota:LockF
40、lagDEC锁定标志0:解锁;1:锁定。1simota:ResultCodeSTRING卡端操作结果通知的返回代码 0x00,成功;其他失败。4simota:ResultMsgSTRINGSE操作结果通知的返回信息。60simota:TimeStampSTRING时间戳14simota:ImsiSTRINGIMSI15simota:Application节点应用simota:SecurityDomain节点安全域simota:OriginalCommandHEX源发起请求的命令字2simota:OriginalSeqNumDEC源请求包流水号20simota:SessionIDSTRING会话
41、ID,即业务平台生成的业务会话ID,格式为 ZZZZZZZZZyyyyMMdd24hmmssxxxxxx,其中的ZZZZZZZZZ为9位的应用提供商编号,xxxxxx为6位流水号同一业务的数据包应使用相同的SessionID26simota:ProviderSessionIdSTRING发起方调用时传递的SessionID26simota:SessionTypeDEC1:应用下载/业务订购,2:应用删除/业务退订,3:应用更新/业务更新,4:业务迁移,5:应用锁定,6:应用解锁,7:安全域创建,8:安全域删除,9:安全域密钥更新,10:个人化数据管理,11:BOSS换号simota:TARHE
42、X应用或安全域的TAR3simota:IsDeleteCAPFileDEC是否删除CAP文件0:不删除;1:删除1simota:CmdTypePersoTypeDEC0:方式一,读写个人化数据2:方式二,应用调用安全域个人化3:方式三,安全域调用应用个人化1simota:EndflagDEC0:未完1:结束1simota:APDUSumHEX已执行APDU指令数1simota:LastAPDUSWHEX最后一条APDU执行结果SW2simota:LastDataHEX最后一条指令的执行返回数据256simota:ModuleInfo节点Module信息simota:CardPOR节点卡片返回信
43、息simota:ProvnCodeSTRING省份代码4simota:IfContinueOptDEC是否还有后续操作0:无1:有后续操作simota:AppProviderCodeSTRING应用提供商代码6simota:TokenHEX完成签名的Token数据simota:HashValueHEX待签名的哈希数据simota:EventIDDEC1、用户退网2、业务退订3、业务订购4、SE挂失simota:UserStatusDEC用户状态1、预销户退订2、销户退订3、过户退订4、改号退订5、欠费停机6、用户挂失停机7、用户主动停机8、续费恢复9、解挂后恢复10、主动停机后复机11、业务开
44、通确认simota:Personalization节点个人化数据8.1.5 消息类型描述PreOperationsReq父元素名称元素名称约束备注SOAP-ENV:Body simota:PreOperationsReq1simota:PreOperationsReqsimota:SeqNum1simota:PreOperationsReqsimota:SessionID1simota:PreOperationsReqsimota:SessionType1simota:PreOperationsReqsimota:TimeStamp1simota:PreOperationsReqsimota:
45、CommType1simota:PreOperationsReqsimota:Msisdn1simota:PreOperationsReqsimota:SEID1simota:PreOperationsReqimota:IMEI 1simota:PreOperationsReqsimota:AppAID1simota:PreOperationsReqsimota:OrgMsisdn0.1在BOSS换号时设置PreOperationsReqResponse父元素名称元素名称约束备注SOAP-ENV:Body simota:PreOperationsReqResponse1simota: PreO
46、perationsReqResponsesimota:SeqNum1simota: PreOperationsReqResponsesimota:TimeStamp1simota: PreOperationsReqResponsesimota:Status1simota: Statussimota:StatusCode1为0000时,表示业务平台通过审核,继续后续请求操作。返回其他状态时,操作终止。simota: Statussimota:StatusDescription1simota: PreOperationsReqResponsesimota:ProviderSessionId1业务平
47、台调用操作时生成的SessionIDsimota: PreOperationsReqResponsesimota:DomainAID0.1simota: PreOperationsReqResponsesimota:SSDDapSign0.1simota: PreOperationsReqResponsesimota:DomainKey0.n请求安全域密钥更新时,需设置一组或多组可选项DomainKeysimota:DomainKeysimota:KeyID1simota:DomainKeysimota:KeyType1simota:DomainKeysimota:KeyValue1simot
48、a:DomainKeysimota:KeyCheck1simota: PreOperationsReqResponsesimota:Personalization0.n请求应用个人化时,需设置一组或多组Personalization数据simota:Personalizationsimota:AppAID1当应用操作时,为应用AID,安全域操作时,为安全域AID。simota:Personalizationsimota:FileContent1simota: PreOperationsReqResponsesimota:PersoType0.1请求应用个人化时,需设置个人化方式Operatio
49、nResultNotify父元素名称元素名称约束备注SOAP-ENV:Body simota:OperationResultNotify1simota:OperationResultNotifysimota:SeqNum1simota:OperationResultNotifysimota:SessionID1simota:OperationResultNotifysimota:SessionType1simota:OperationResultNotifysimota:TimeStamp1simota:OperationResultNotifysimota:OriginalSeqNum1源请
50、求包交易序号simota:OperationResultNotifysimota:Msisdn1simota:OperationResultNotifysimota:SEID1simota:OperationResultNotifyimota:AppAID0.1simota:OperationResultNotifysimota:ResultCode1simota:OperationResultNotifysimota:ResultMsg1simota:OperationResultNotifysimota:Imsi0.1simota:OperationResultNotifysimota:C
51、ardPOR1simota:CardPORsimota: APDUSum1simota:CardPORsimota: LastAPDUSW1simota:CardPORsimota: LastData1simota:CardPORsimota:LastApdu1OperationResultNotifyResponse父元素名称元素名称约束备注SOAP-ENV:Body simota:OperationResultNotifyResponse1simota:OperationResultNotifyResponsesimota:SeqNum1simota:OperationResultNoti
52、fyResponsesimota:TimeStamp1simota:OperationResultNotifyResponsesimota:Status1simota: Statussimota:StatusCode1为0000时,表示业务平台通过审核,继续后续请求操作。返回其他状态时,操作终止。simota: Statussimota:StatusDescription1simota:OperationResultNotifyResponsesimota:IfContinueOpt1simota:OperationResultNotifyResponsesimota:KeyVersion0.
53、1simota:OperationResultNotifyResponsesimota:DomainKey0.1当创建委托方式辅助安全域后通知业务平台,业务平台可返回一组或多组安全域密钥,通知多应用开发平台进行密钥更新。simota:DomainKeysimota:KeyID1simota:DomainKeysimota:KeyType1simota:DomainKeysimota:KeyValue1simota:DomainKeysimota:KeyCheck1simota:OperationResultNotifyResponsesimota:PersoType0.1当完成应用下载后通知业务平台,若应用需个人化时,需设置个人化方式simota:OperationResultNotifyResponsesimota:Personalization 0.n当
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 内勤工作总结汇报
- 高血压的护理要点
- 云南省楚雄彝族自治州禄丰市2024-2025学年九年级下学期开学考试语文试题
- 骨折治疗与日常预防
- 高中生预防近视
- 八年级上册《用“SSS”判定三角形全等》课件与练习
- 特许金融分析师考试金融理论试题及答案
- 高效学习CFA试题及答案指南
- 夯实基础2024年特许金融分析师考试试题及答案
- 特许金融分析师考试合作学习试题及答案
- 中华民族共同体概论知到课后答案智慧树章节测试答案2025年春丽水学院
- 成都设计咨询集团有限公司2025年社会公开招聘(19人)笔试参考题库附带答案详解
- 专职消防合同范例
- 《油气储存企业安全风险评估细则(2025年修订版)》解读与培训
- 《杰出企业家刘强东的传奇人生》课件
- 【历史】隋唐时期的科技与文化课件 2024-2025学年统编版七年级历史下册
- 2025年全球及中国重组骨形态发生蛋白行业头部企业市场占有率及排名调研报告
- 电网工程设备材料信息参考价(2024年第四季度)
- 数据中心运维服务投标方案(技术标)
- 猴痘患者的护理查房
- 2025湖北省建筑安全员-A证考试题库及答案
评论
0/150
提交评论