1、 ETSI TS 102 241 V13.0.0 (2015-11) Smart Cards; UICC Application Programming Interface (UICC API) for Java Card (Release 13) floppy3TECHNICAL SPECIFICATION ETSI ETSI TS 102 241 V13.0.0 (2015-11)2Release 13Reference RTS/SCP-T0310vd00 Keywords API, smart card ETSI 650 Route des Lucioles F-06921 Sophia
2、 Antipolis Cedex - FRANCE Tel.: +33 4 92 94 42 00 Fax: +33 4 93 65 47 16 Siret N 348 623 562 00017 - NAF 742 C Association but non lucratif enregistre la Sous-Prfecture de Grasse (06) N 7803/88 Important notice The present document can be downloaded from: http:/www.etsi.org/standards-search The pres
3、ent document may be made available in electronic versions and/or in print. The content of any electronic and/or print versions of the present document shall not be modified without the prior written authorization of ETSI. In case of any existing or perceived difference in contents between such versi
4、ons and/or in print, the only prevailing document is the print of the Portable Document Format (PDF) version kept on a specific network drive within ETSI Secretariat. Users of the present document should be aware that the document may be subject to revision or change of status. Information on the cu
5、rrent status of this and other ETSI documents is available at http:/portal.etsi.org/tb/status/status.asp If you find errors in the present document, please send your comment to one of the following services: https:/portal.etsi.org/People/CommiteeSupportStaff.aspx Copyright Notification No part may b
6、e reproduced or utilized in any form or by any means, electronic or mechanical, including photocopying and microfilm except as authorized by written permission of ETSI. The content of the PDF version shall not be modified without the written authorization of ETSI. The copyright and the foregoing res
7、triction extend to reproduction in all media. European Telecommunications Standards Institute 2015. All rights reserved. DECTTM, PLUGTESTSTM, UMTSTMand the ETSI logo are Trade Marks of ETSI registered for the benefit of its Members. 3GPPTM and LTE are Trade Marks of ETSI registered for the benefit o
8、f its Members and of the 3GPP Organizational Partners. GSM and the GSM logo are Trade Marks registered and owned by the GSM Association. ETSI ETSI TS 102 241 V13.0.0 (2015-11)3Release 13Contents Intellectual Property Rights 5g3Foreword . 5g3Modal verbs terminology 5g31 Scope 6g32 References 6g32.1 N
9、ormative references . 6g32.2 Informative references 7g33 Definitions and abbreviations . 7g33.1 Definitions 7g33.2 Abbreviations . 8g34 Description . 8g34.0 Purpose . 8g34.1 UICC Java Card architecture 9g35 File access API . 10g35.0 Introduction 10g35.1 FileView objects . 10g35.2 FileView operations
10、 . 11g35.3 BERTLVFileView operations 11g36 Toolkit API and CAT Runtime Environment 11g36.0 Introduction 11g36.1 Applet triggering 11g36.1.0 Triggering mechanism 11g36.1.1 Exception handling . 12g36.2 Definition of events 13g36.3 Registration 19g36.4 Proactive command handling . 19g36.5 Envelope resp
11、onse handling . 20g36.6 System handler management 20g36.7 CAT Runtime Environment behaviour. 22g36.7.0 Basic rules . 22g36.7.1 System proactive commands. 23g36.7.1.0 Overall behaviour 23g36.7.1.1 SET UP MENU . 23g36.7.1.2 SET UP EVENT LIST 24g36.7.1.3 POLL INTERVAL and POLLING OFF . 24g36.7.1.4 NEGO
12、TIATION OF POLL INTERVAL 24g36.7.2 UICC memory reliability monitoring . 25g37 Toolkit applet . 25g37.1 Applet loading 25g37.2 Data and function sharing . 25g37.3 Package, applet and object deletion 25g38 UICC and ADF File System Administration API 26g38.0 Overview 26g38.1 AdminFileView objects 26g38
13、.2 AdminFileView operations 26g39 UICC Java Card Services . 26g39.0 Introduction 26g39.1 High update arrays 27g3Annex A (normative): Java Card UICC API 28g3Annex B (normative): Java Card UICC API identifiers 29g3ETSI ETSI TS 102 241 V13.0.0 (2015-11)4Release 13Annex C (normative): UICC API package v
14、ersion management 30g3Annex D (informative): Menu order example 31g3D.0 Preamble . 31g3D.1 State after initialization 31g3D.2 Some application installation later . 31g3D.3 Installation of application A with position of menu entry set to 3 . 31g3D.4 Installation of application B with position of menu
15、 entry set to 3 . 31g3D.5 Installation of application C with position of menu entry set to 2 and 3 32g3D.5.1 Insert at position 2 32g3D.5.2 Insert at position 3 32g3D.6 Installation of application D with position of menu entry set to “00“ 32g3D.7 Installation of application E with position of menu e
16、ntry set to 20 33g3D.8 Disabling/Locking of application legacy1 and application A with menu entries at position 1 respectively 6 33g3D.9 Re-enabling/Unlocking of application legacy1 and application A with menu entries at position 1 respectively 6 33g3D.10 Deletion of application A with menu entry at
17、 position 6 . 34g3Annex E (informative): Change history . 35g3History 38g3ETSI ETSI TS 102 241 V13.0.0 (2015-11)5Release 13Intellectual Property Rights IPRs essential or potentially essential to the present document may have been declared to ETSI. The information pertaining to these essential IPRs,
18、if any, is publicly available for ETSI members and non-members, and can be found in ETSI SR 000 314: “Intellectual Property Rights (IPRs); Essential, or potentially Essential, IPRs notified to ETSI in respect of ETSI standards“, which is available from the ETSI Secretariat. Latest updates are availa
19、ble on the ETSI Web server (http:/ipr.etsi.org). Pursuant to the ETSI IPR Policy, no investigation, including IPR searches, has been carried out by ETSI. No guarantee can be given as to the existence of other IPRs not referenced in ETSI SR 000 314 (or the updates on the ETSI Web server) which are, o
20、r may be, or may become, essential to the present document. Foreword This Technical Specification (TS) has been produced by ETSI Technical Committee Smart Card Platform (SCP). The present document details the stage 1 aspects (overall service description) for the support of an “Application Programmin
21、g Interface and Loader Requirements“ 11. The contents of the present document are subject to continuing work within TC SCP and may change following formal TC SCP approval. If TC SCP decides to modify the contents of the present document, it will be re-released by TC SCP with an identifying change of
22、 release date and an increase in version number as follows: Version x.y.z where: x: the first digit: 1 presented to TC SCP for information; 2 presented to TC SCP for approval; 3 or greater indicates TC SCP approved document under change control. y: the second digit is incremented for all changes of
23、substance, i.e. technical enhancements, corrections, updates, etc. z: the third digit is incremented when editorial only changes have been incorporated in the document. Modal verbs terminology In the present document “shall“, “shall not“, “should“, “should not“, “may“, “need not“, “will“, “will not“
24、, “can“ and “cannot“ are to be interpreted as described in clause 3.2 of the ETSI Drafting Rules (Verbal forms for the expression of provisions). “must“ and “must not“ are NOT allowed in ETSI deliverables except when used in direct citation. ETSI ETSI TS 102 241 V13.0.0 (2015-11)6Release 131 Scope T
25、he present document defines the stage two description of the “Application Programming Interface and Loader Requirements“ 11 internal to the UICC. This stage two describes the functional capabilities and the information flow for the UICC API implemented on the Java Card Platform, 3.0.1 Classic Editio
26、n 2, 3 and 4. The present document includes information applicable to network operators, service providers and UICC, server and database manufacturers. 2 References 2.1 Normative references References are either specific (identified by date of publication and/or edition number or version number) or
27、non-specific. For specific references, only the cited version applies. For non-specific references, the latest version of the reference document (including any amendments) applies. Referenced documents which are not found to be publicly available in the expected location might be found at http:/docb
28、ox.etsi.org/Reference. In the case of a reference to a TC SCP document, a non-specific reference implicitly refers to the latest version of that document in the same Release as the present document. NOTE: While any hyperlinks included in this clause were valid at the time of publication, ETSI cannot
29、 guarantee their long term validity. The following referenced documents are necessary for the application of the present document. 1 Void. 2 ORACLE: “Application Programming Interface, Java Card Platform, 3.0.1 Classic Edition“. 3 ORACLE: “Runtime Environment Specification, Java Card Platform, 3.0.1
30、 Classic Edition“. 4 ORACLE: “Virtual Machine Specification Java Card Platform, 3.0.1 Classic Edition“. NOTE: ORACLE Java Card Specifications can be downloaded at http:/ 5 ETSI TS 101 220: “Smart Cards; ETSI numbering system for telecommunication application providers“. 6 ETSI TS 102 221: “Smart Car
31、ds; UICC-Terminal interface; Physical and logical characteristics“. 7 ETSI TS 102 223: “Smart Cards; Card Application Toolkit (CAT)“. 8 ETSI TS 102 222: “Integrated Circuit Cards (ICC); Administrative commands for telecommunications applications“. 9 ETSI TS 102 225: “Smart Cards; Secured packet stru
32、cture for UICC based applications“. 10 ETSI TS 102 226: “Smart Cards; Remote APDU structure for UICC based applications“. 11 ETSI TS 102 240: “Smart Cards; UICC Application Programming Interface and Loader Requirements; Service description“. 12 ETSI TS 123 040 (V6.6.0): “Digital cellular telecommuni
33、cations system (Phase 2+); Universal Mobile Telecommunications System (UMTS); Technical realization of Short Message Service (SMS) (3GPP TS 23.040 version 6.6.0 Release 6)“. 13 ETSI TS 102 241: “Smart Cards; UICC Application Programming Interface (UICC API) for Java Card“. ETSI ETSI TS 102 241 V13.0
34、.0 (2015-11)7Release 1314 ETSI TS 102 671: “Smart Cards; Machine to Machine UICC; Physical and logical characteristics“. 15 GlobalPlatform: “GlobalPlatform Card Specification, version 2.2.1“. NOTE: See http:/www.globalplatform.org/. 16 GlobalPlatform: “Java Card API and Export File for Card Specific
35、ation, v2.2.1“, (org.globalplatform) v1.5. NOTE: See http:/www.globalplatform.org/. 2.2 Informative references References are either specific (identified by date of publication and/or edition number or version number) or non-specific. For specific references, only the cited version applies. For non-
36、specific references, the latest version of the reference document (including any amendments) applies. NOTE: While any hyperlinks included in this clause were valid at the time of publication, ETSI cannot guarantee their long term validity. The following referenced documents are not necessary for the
37、 application of the present document but they assist the user with regard to a particular subject area. Not applicable. 3 Definitions and abbreviations 3.1 Definitions For the purposes of the present document, the following terms and definitions apply: applet: application built up using a number of
38、classes which will run under the control of the Java Card virtual machine bytecode: machine independent code generated by a Java compiler and executed by the Java interpreter class: type that defines the implementation of a particular kind of object NOTE: A Class definition defines instance and clas
39、s variables and methods. framework: defines a set of Application Programming Interface (API) classes for developing applications and for providing system services to those applications java: object oriented programming language developed by Sun Microsystems designed to be platform independent method
40、: piece of executable code that can be invoked, possibly passing it certain values as arguments NOTE: Every Method definition belongs to some class. object: principal building block of object oriented programs NOTE: Each object is a programming unit consisting of data (variables) and functionality (
41、methods). package: group of classes NOTE: Packages are declared when writing a Java Card program. toolkit application: application on the UICC card which can be triggered by toolkit events issued by the Terminal and which can send proactive commands to the terminal NOTE: These applications can be do
42、wnloaded via any type of network. virtual machine: part of the Run-time environment responsible for interpreting the bytecode ETSI ETSI TS 102 241 V13.0.0 (2015-11)8Release 133.2 Abbreviations For the purposes of the present document, the abbreviations given in ETSI TS 102 221 6 and the following ap
43、ply: ADF Application Dedicated File AID Application IDentifier APDU Application Protocol Data Unit API Application Programming Interface DF Dedicated File (abbreviation formerly used for Data Field) EF Elementary FileFFS For Further Study JCRE Java Card Runtime Environment MF Master File NAA Network
44、 Access Application (e.g. SIM, USIM) RFM Remote File Management TLV Tag Length Value 4 Description 4.0 Purpose The present document describes an API and a Runtime Environment for the UICC platform. This API and the Runtime Environment allows application programmers to get access to the functions and
45、 data described in ETSI TS 102 221 6 and ETSI TS 102 223 7 such that UICC based services can be developed and loaded onto a UICC, quickly and, if necessarily, remotely, after the card has been issued. This API is an extension to the “Application Programming Interface, Java Card Platform, 3.0.1 Class
46、ic Edition“ 2, the Runtime Environment is an extension of the “Runtime Environment Specification, Java Card Platform, 3.0.1 Classic Edition“ 3. ETSI ETSI TS 102 241 V13.0.0 (2015-11)9Release 134.1 UICC Java Card architecture The overall architecture of the UICC API is based on Java Card Platform, 3.
47、0.1 Classic Edition 2, 3 and 4. 102 221 based Applications ( e.g. SIM Applet or USIM Applet) ADF File System Server Other Applications not based on 102 221 Toolkit Applet ( e.g. Toolkit service, Remote Management Applications, Browser Applications) UICC File System Server uicc.system package uicc.to
48、olkit package uicc.access package Java Card TM Packages CAT Runtime Environment Toolkit Handlers Toolkit Registry Triggering Entity Java Card TM Runtime Environment Items that are defined in this specification Figure 1: UICC Java Card architecture Java Card Runtime Environment: this is specified in
49、“ Runtime Environment Specification, Java Card Platform, 3.0.1 Classic Edition“ 3 and is able to select any specific applet and transmit to it the process of its APDU. CAT Runtime Environment: this is the CAT Runtime Environment composed of, the Toolkit Registry, the Toolkit Handlers and the Triggering Entity. It is an addition to the JCRE. Toolkit Registry: this is handling all the registration information of the Toolkit applets, and their link