Contactless Java Card

Can anyone please explain how to know current activated protocol is whether contact or contactless using APIs?
Card supports both contact(T=0) and contactless protocol.
Card supports GP21 and Javacard 2.1.1 API.
Thanks in advance.

Hi
Thank you for reply.
It seems that API described in link is java card 2.2.2 API. please correct me if i am wrong.
As mentioned earlier, my card supports java card 2.1.1 APIs and its dual interface. As far as i understand java card 2.1.1 API specification does talk about only PROTOCOL_T0 and PROTOCOL_T1 (not PROTOCOL_MEDIA_CONTACTLESS_TYPE_A or PROTOCOL_MEDIA_CONTACTLESS_TYPE_B).
Do you mean java card 2.1.1 APIs also support PROTOCOL_MEDIA_CONTACTLESS_TYPE_A and PROTOCOL_MEDIA_CONTACTLESS_TYPE_B?
I am rephrasing my question.
Applet should be generic (without using any proprietary APIs). Product should be based on java card 2.1.1 APIs and should support both protocol, contact as well as contactless. With this requirement, How would i identify that protocol in process is contact or contactless?
Thanks in advance.

Similar Messages

  • Access a java card via two logical channels

    Dear all;
    I was wondering if someone managed to do following setup(because it doesn't work for me):
    I have an android phone with a sd-card slot in which I've inserted a java card. I can open a logical channel from my android phone to the java card. Since the java card also suports T=CL, I'm also able to open a logical channel from a pc to the java card via a contactless interface (with a reader that is connected to the pc). But what seams to be impossible is opening the two logical channels simultaniously. So I can't open simultaniously a logical channel from the android phone to the java card and a logical channel via the contactless interface.
    Did anyone have succes with this setup? (I made the applet multiselectable)
    greets,
    JT

    If you are trying to connect to the card over both the NFC controller (card emulation) and the device interface from Android at the same time you will probably have a race condition. On the phones I have used, you can only have one active at time.
    Shane

  • Java Card 2.2.2 draft is out for public review

    A draft for the upcoming release of the Java Card Specification is available for public review.
    The Java Card 2.2.2 Specification will provide numerous enhancements to the award-winning Java Card platform. In particular it will include specific support for contactless communication and ID cards :
    * enhancements to ease the management and increase interoperability of contactless cards.
    * additional cryptography and security features
    * utility APIs for memory-efficient applet development
    Java Card technology v2.2.2 is ready for the next generations of smart card standards, and is fully backward-compatible with previous versions.
    New features in Java Card 2.2.2 :
    * Utility APIs for TLV, BCD, short, int
    * ISO7816-based Extended length APDU support
    * Support for up to 20 logical channels
    * External memory access API
    * Multiple Interfaces management
    * Additional cryptography algorithms : HMAC-MD5, HMAC-SHA1, SHA-256 and Korean Seed
    * Signature with message recovery
    * Partial message digest
    * Standardized Biometrics API
    Please direct your comments on this draft at [email protected] Feedback received before December 15th will be considered for the final version of the specification. For more information on the Java Card Platform Specification v2.2.2, Public Review Draft, refer to the release notes on http://java.sun.com/products/javacard/RELEASENOTES_jcspecsp.html

    The Installer and the Applet Deletion Manager are implemented in the JCRE and GlobalPlatform. On-card the Card Manager manages the content management, communication and the related security. JCRE specifies how it has to handle installation and deletion, but leaves room for different implementations. To the outside world, on a GP card, the Installer/ADM is the Card Manager with a specific AID.
    Installer and ADM are optional. For instance a Java Card Static product does not need an Installer/ADM.
    JCOP cards have the Installer/ADM fully implemented. It uses the GP functionality. The CM has to be selected to install or delete a package/applet.

  • How to ensure applet is written in java card?

    Hi all,
    I have written a java card applet, in which i am using the Biometry API of java card to enroll a fingerprint template in java card. Code is attached below:
    package classicapplet1;
    import javacard.framework.*;
    import javacardx.biometry.BioBuilder;
    import javacardx.biometry.OwnerBioTemplate;
    import javacardx.biometry.SharedBioTemplate;
    import javacardx.biometry.BioException;
    public class JavaBiometrics extends Applet implements SharedBioTemplate{
            public final static byte CLA = (byte)0xCF;
         public final static byte INS_ENROLL = (byte)0x10;
         public final static byte MATCH_TRY_LIMIT = (byte)3;
         public final static byte INVALID_DATA = (byte)0x77;
         public final static byte ERROR_MATCH_FAILED = (byte)0x9101;
         public static final byte CARD_ENROLL_SUCCESS = (byte)0x9000;
         public static final byte CARD_ENROL_FAILED = (byte)0x6900;
         private OwnerBioTemplate bio_temp;
         * Installs this applet.
         * @param bArray
         *            the array containing installation parameters
         * @param bOffset
         *            the starting offset in bArray
         * @param bLength
         *            the length in bytes of the parameter data in bArray
        public static void install(byte[] bArray, short bOffset, byte bLength) {
            new JavaBiometrics(bArray, bOffset, bLength);
         * Only this class's install method should create the applet object.
        protected JavaBiometrics(byte[] bArray, short bOffset, short bLength) {
        byte aidLen = bArray[bOffset];
              if(aidLen == (byte)0)
                   register();
              else
                   register(bArray, (short)(bOffset+1), aidLen);
              bio_temp = BioBuilder.buildBioTemplate(BioBuilder.FINGERPRINT, MATCH_TRY_LIMIT);
    public boolean select()
    return true;
         * Processes an incoming APDU.
         * @see APDU
         * @param apdu
         *            the incoming APDU
        public void process(APDU apdu) {
            //get the incoming APDU buffer
         byte []buffer = apdu.getBuffer();
         //Get the CLA; mask out the logical-channel info
         buffer[ISO7816.OFFSET_CLA] = (byte)(buffer[ISO7816.OFFSET_CLA] & (byte)0xFC);
         //If the INS Select, return -no need to process select
         if(buffer[ISO7816.OFFSET_CLA] == 0 && buffer[ISO7816.OFFSET_INS] == (byte)(0xA4))
              return;
         //If unrecognized class, return "Unsupported class."
         if(buffer[ISO7816.OFFSET_CLA] != CLA)
              ISOException.throwIt(ISO7816.SW_CLA_NOT_SUPPORTED);
         switch(buffer[ISO7816.OFFSET_INS])
         case INS_ENROLL:
              enroll(apdu);
              break;
         default:
              ISOException.throwIt(ISO7816.SW_INS_NOT_SUPPORTED);
    public void enroll(APDU apdu)
            byte[] buffer = apdu.getBuffer();
            short bytesRead = apdu.setIncomingAndReceive();
            bio_temp.init(buffer, ISO7816.OFFSET_CDATA, bytesRead);
            bio_temp.doFinal();
        public Shareable getShareableInterfaceObject(AID clientAID, byte parameter) {
            return this;
    ///////////// These methods implemets the ShareableBio interface///////////////
    public boolean isInitialized() {
            return bio_temp.isInitialized();
        public boolean isValidated() {
            return bio_temp.isValidated();
        public void reset() {
            bio_temp.reset();
        public byte getTriesRemaining() {
            return bio_temp.getTriesRemaining();
        public byte getBioType() {
            return bio_temp.getBioType();
        public short getVersion(byte[] dest, short offset) {
            return bio_temp.getVersion(dest, offset);
        public short getPublicTemplateData(short publicOffset, byte[] dest, short destOffset, short length)
                throws BioException {
            return bio_temp.getPublicTemplateData(publicOffset, dest, destOffset, length);
        public short initMatch(byte[] candidate, short offset, short length) throws BioException {
            return bio_temp.initMatch(candidate, offset, length);
        public short match(byte[] candidate, short offset, short length) throws BioException {
            return bio_temp.match(candidate, offset, length);
    Problem :
    I have developed this program in Netbeans using java card plug ins. when i am running this program, all the required CAP files and EXP files are generated.
    Now, i have to write this applet on java card through a card reader. My card reader is installed in an embedded system GeoAmida with IP 192.133.133.2 and port number 6789.
    I have used the following settings for my java card device in Netbeans:
    Host : 192.133.133.2
    Server URL: http://192.133.133.2:6789/
    Card Manager URL: http://192.133.133.2:6789/cardmanager/
    HTTP port: 6789
    The output shows me that Instances of this program has been successfully has been created on java card.
    But the problem is how can i ensure that my applet is been successfully installed on the java card?
    The code of host application program, accessing the developed java card applet is given below (it is written in C):
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <smartcard.h>
    int main()
         int ret, i, smartcard;
         unsigned char applet_id[100], apdu_len, apdu[300],response[300]={0};
         smartcard_info *context;
         smartcard=CONTACTLESS;
         //smartcard=CONTACT_BOT;
         if((context = smartcard_init(smartcard)) == NULL){
              printf("Smartcard Initi. Failed\n");
              return 0xBB;
         /* checking for smartcard */
         while (1){
              if(ret=smartcard_is_present(context, smartcard)!=0)
                   sleep(1);
              else
                   break;
         printf("Selecting Applet \n");
         i = 0;
         applet_id[i++]=0x00; applet_id[i++]=0xA4; applet_id[i++]=0x04; applet_id[i++]=0x00; applet_id[i++]=0x06;
         applet_id[i++]=0xA9; applet_id[i++]=0xBF; applet_id[i++]=0xA2; applet_id[i++]=0xB6; applet_id[i++]=0xB1; applet_id[i++]=0x3E; applet_id[i++]=0x7F;
         if ((ret=smartcard_select_applet(context, smartcard, applet_id, i))!=0){
              printf("select applet failed %02x\n",ret);
              return ;
         printf("Applet Selection Success \n");
    #if 1
         i=0;
         apdu[i++]=0xCF; apdu[i++]=0x10; apdu[i++]=0x04; apdu[i++]=0x04; apdu[i++]=0x7F;
         //apdu[i++]=0x3F; apdu[i++]=0x00;
         apdu_len = i;
         printf("Sending APDU command\n");
         if ((ret=smartcard_apdu(context, smartcard, apdu, apdu_len, response))!=0){
              printf("apdu failed %d\n",ret);
              //return;
         }else
              printf("APDU Success\n");
         //printf("\n");
    #endif
         smartcard_deinit(context);
         return 0;     
    }The output of this program is showing me that applet is been successfully selected, but APDU selection failed. Please solve this problem as soon as possible, because my project is deadline is not very much far.
    Thanks in advance.
    Mukul Gupta

    Hi Shane,
    I am getting error 6a86 which means that value of P1 is less than 1 or more than 8, and we have to change its value to any in between 1 to 8. I did that also but error still remains :(
    Please tell me what is reason behind this error. And, i'll try out your previous solution today, Thanks for it.

  • How to set the protocol T=1 or T=0 in java card?

    Hi,all.Java card surpport T=1 T=0 or T=CL.How can I set the protocols?
    Does java card supply this kind of API?Please help me. Thinks.

    Card sets the kind of protocol in the ATR for contact or if it is contactless it is always CL (it doesn't matter if it is TypeA or TypeB protocol).

  • Java card cap file install error in jcop tools

    When i try to run java card applet in real java card it gives this error.i used jcop tools and java version 1.5  and eclipse 3.2.when i run the applet in simulater it works fine.i saw some document it says allocate memory for the installation process.i don't know how to do that.
    /term "winscard:4|SCM Microsystems Inc. SCL010 Contactless Reader 0"
    --Opening terminal
    >  /card -a a000000003000000 -c com.ibm.jc.CardManager
    resetCard with timeout: 0 (ms)
    --Waiting for card...
    ATR=3B 8A 80 01 4A 43 4F 50 33 31 56 32 33 32 7A       ;...JCOP31V232z
    ATR: T=0, T=1, Hist="JCOP31V232"
    => 00 A4 04 00 08 A0 00 00 00 03 00 00 00 00          ..............
    (23807 usec)
    <= 6F 65 84 08 A0 00 00 00 03 00 00 00 A5 59 9F 65    oe...........Y.e
        01 FF 9F 6E 06 47 91 73 51 2E 00 73 4A 06 07 2A    ...n.G.sQ..sJ..*
        86 48 86 FC 6B 01 60 0C 06 0A 2A 86 48 86 FC 6B    .H..k.`...*.H..k
        02 02 01 01 63 09 06 07 2A 86 48 86 FC 6B 03 64    ....c...*.H..k.d
        0B 06 09 2A 86 48 86 FC 6B 04 02 15 65 0B 06 09    ...*.H..k...e...
        2B 85 10 86 48 64 02 01 03 66 0C 06 0A 2B 06 01    +...Hd...f...+..
        04 01 2A 02 6E 01 02 90 00                         ..*.n....
    Status: No Error
    cm>  set-key 255/1/DES-ECB/404142434445464748494a4b4c4d4e4f 255/2/DES-ECB/404142434445464748494a4b4c4d4e4f 255/3/DES-ECB/404142434445464748494a4b4c4d4e4f
    cm>  init-update 255
    => 80 50 00 00 08 AC B1 90 01 BF 2D 24 A0 00          .P........-$..
    (49906 usec)
    <= 00 00 91 18 01 39 93 95 05 59 FF 02 00 2C BE 39    .....9...Y...,.9
        5E A5 07 55 87 B8 C3 A8 A6 93 66 2B 90 00          ^..U......f+..
    Status: No Error
    cm>  ext-auth plain
    => 84 82 00 00 10 0C AE 50 3E C8 7E 1D 92 29 E2 59    .......P>.~..).Y
        08 D9 DA 02 16                                     .....
    (57276 usec)
    <= 90 00                                              ..
    Status: No Error
    cm>  delete 060504030201
    => 80 E4 00 00 08 4F 06 06 05 04 03 02 01 00          .....O........
    (40041 usec)
    <= 6A 88                                              j.
    Status: Reference data not found
    jcshell: Error code: 6a88 (Reference data not found)
    jcshell: Wrong response APDU: 6A88
    Ignoring expected error
    cm>  delete 010203040506
    => 80 E4 00 00 08 4F 06 01 02 03 04 05 06 00          .....O........
    (17392 usec)
    <= 6A 88                                              j.
    Status: Reference data not found
    jcshell: Error code: 6a88 (Reference data not found)
    jcshell: Wrong response APDU: 6A88
    Ignoring expected error
    cm>  upload -d -b 250 "Cap File location"
    => 80 E6 02 00 13 06 01 02 03 04 05 06 08 A0 00 00    ................
        00 03 00 00 00 00 00 00 00                         .........
    (32303 usec)
    <= 00 90 00                                           ...
    Status: No Error
    => 80 E8 00 00 FA C4 81 F2 01 00 23 DE CA FF ED 02    ..........#.....
        02 04 00 01 06 01 02 03 04 05 06 12 68 6D 73 2F    ............hms/
        6A 61 76 61 63 61 72 64 2F 68 65 6C 6C 6F 02 00    javacard/hello..
        21 00 23 00 21 00 0A 00 0B 00 1E 00 0E 00 3D 00    !.#.!.........=.
        0A 00 0B 00 00 00 4D 01 BE 00 00 00 00 00 00 01    ......M.........
        01 00 04 00 0B 01 02 01 07 A0 00 00 00 62 01 01    .............b..
        03 00 0A 01 06 06 05 04 03 02 01 00 08 06 00 0E    ................
        00 00 00 80 03 00 FF 00 07 01 00 00 00 1C 07 00    ................
        3D 00 01 10 18 8C 00 05 7A 05 30 8F 00 00 3D 8C    =.......z.0...=.
        00 01 18 1D 04 41 18 1D 25 8B 00 02 7A 02 21 18    .....A..%...z.!.
        8B 00 03 60 03 7A 19 8B 00 04 2D 1A 04 25 73 00    ...`.z....-..%s.
        09 00 00 00 00 00 0F 11 6D 00 8D 00 06 7A 08 00    ........m....z..
        0A 00 00 00 00 00 00 00 00 00 00 05 00 1E 00 07    ................
        01 00 02 00 06 00 00 01 03 80 03 02 03 80 03 03    ................
        03 80 0A 01 06 80 03 00 06 80 07 01 09 00 0B 00    ................
        00 00 07 05 06 04 0A 07 07 13 0B 00 4D 01 00 00    ............M...
    (764519 usec)
    <= 6A 80                                              j.
    Status: Wrong data
    jcshell: Error code: 6a80 (Wrong data)
    jcshell: Wrong response APDU: 6A80
    Unexpected error; aborting execution

    Thanks ReNa
    i am using nxp jcop 31 contact-less card.and it will support for java card 2.2.1 and global-platform card specification 2.1.1 .so i am using nxp jcop training 2007 tools and it has java card 2.2.1 and global-platform card specification 2.1.1.Inside my project there are three jar files these are jc221.jar and gp211.jar and bio10.jar
    i will appreciate your help
    Thanks

  • Java Card compatibility with readers... (please help me!!)

    Hi,
    I would like to know how to determine the compatibility of a existing reader with the JavaCard technology.
    I have studied the standar ISO 7816 and I'm not sure if a reader must be compliant with absolutely all
    parts of the standar (Part 1,2,3,4,5,6) to be capable of read, write Java Cards and select the applet to
    execute.
    Especifically I need to know if the readers GEMPC410 and CASTLES EZ200 are able to read, write
    and execute multiple java applications.
    The specifications that a read, said that GEMPC410 can read and write ISO7816 1/2/3/4 and
    CASTLES EZ200 can read and write ISO7816 1/2/3 but i have the following doubt:
    These readers should be compatible with the part 4 and/or 5 of the ISO standar to
    interchange commands with the reader (Part 4) and identifie the applications to execute (Part 5)?.
    Where I can find more information about this issues?
    Thank you very much for your soon answer.

    Well,
    There are two type of readers you can use with JavaCards:
    Contact readers
    As specified in ISO7816, for the contact readers working with T=0 and T=1 protocols. On win machines they are normally supported with the PC/SC interface, most of the readers are able to talk to that interface. In other words - if you can use any card on ur comp and if it is win platform JC will work fine.
    Contactless readers
    As specified in ISO14443, this babies are talking T=CL protocol. For now I know only JCOP30 products that are operating also in contactless mode. For this you will have to acquire some contactless reader and they are commong with drivers for standalone apps or for the PC/SC IF.
    But chance that you will use the second option in next 3 years is rather small.

  • Help:java card and rfid

    I searched a lot about java card and rfid, but don't have a clear idea about the relationship between the two. Please help me....

    They have NO common grounds.
    A java card needs a real "smart" processor because it contains a Java Virtual Machine, can do crypto and other stuff. The cost to produce one is in the multi dollar range. Some java cards can communicate contactless by "radio".
    RFID is the term to describe a very primitive device, all it can do is report a unique identification (ID) and it does this contactless (RF). the cost to produce one is in the cent range. You can use it to track products or containers or other stuff.
    Since RFID is also a very popular buzzword these days, the exact meaning of RFID varies.
    Of course, you could use a java card to play RFID tag, but that would be
    very expensive. Java cards are usually used for bank cards and similar applications.

  • Does ACR1281U-C1 cards support Java Card?

    I just got my self an ACS Card reader for ACR1281U-C1 cards, but I don't know how to install my cap file onto the cards. I've read the documentations, but failed to find any hints. Does this cards even support Java Card?

    andirady wrote:
    The cards came with the reader.Then my bet these are either Mifare 1K (if they have no contacts), or one of these
    http://www.acs.com.hk/index.php?pid=products&id=1
    and AFAIK, none are Java Card cards.
    What about
    - telling if the cards have contacts or not;
    - posting the ATR that the reader gives for the card, in contact and contactless mode as applicable?
    The later could be interpreted according to the info in the spec, circa page 33.
    http://www.acs.com.hk/drivers/eng/API-ACR1281U-C1-1.03.pdf

  • NFC for Java Card

    Hi guys
    I'm a new one with NFC, especially for the field that I'm investigating right now, Java Cards. Hence, would you mind to help me with the initialization? I mean what am I supposed to begin with (name of documents, materials,...)?
    Any of your help would be appreciated.
    Thanks in advance
    Jason

    Jason,
    I'm not sure what you mean by NFC integrated Java Card. Could you give me the name of the document you downloaded from Global Platform?
    Java Card knows about the transport type between itself and the reader: contact (T=0, T=1 : ISO/IEC 7816) or contactless (T=CL : ISO/IEC 14443). But that is all; a Java Card applet should not know or care about the lower transport layers.
    As for the relationship between GSM, UICC and NFC, have a look at the document "NFC Stepping Stones" from SIMAlliance: http://www.simalliance.org/en?t=/documentManager/sfdoc.file.supply&fileID=1308660607647
    EDIT:
    For more on STK applets (GSM), read the Gemalto introduction to the SIM Toolkit: http://developer.gemalto.com/home/technology/sim-toolkit.html
    The best standard for you to start with is probably 3GPP 43.019.
    As reference, here is a partial list of (I hope) relevant standards. If you find more, please post them here!
    ISO/IEC:
    ISO/IEC 7816-1
    ISO/IEC 7816-2
    ISO/IEC 7816-3 (T=0)
    ISO/IEC 7816-4 (Limited to command set required for GSM compliance.)
    Java Card:
    Runtime Environment Specification Java Card Platform, Version 2.2.1 V2.2.1
    Virtual Machine Specification Java Card Platform, Version 2.2.1 V2.2.1
    Application Programming Interface Java Card Platform, Version 2.2.1 V2.2.1
    Global Platform:
    Global Platform Card Specification 2.1.1 V2.1.1
    GSM:
    GSM 11.11 version 8.3.0
    GSM 11.12 version 4.3.1
    GSM 11.14 version 8.3.0
    GSM 11.17 version 7.0.2
    GSM 11.18 version 7.0.1
    GSM Comp128-1, 2, 3
    SIM:
    TS 23.040 V.6 Technical realization of the Short Message Service (SMS)
    TS 43.019 V.6 Subscriber Identity Module Application Programming Interface (SIM API) for Java Card; Stage 2
    TS 51.011 V.5 Specification of the Subscriber Identity Module - Mobile Equipment (SIM-ME) interface
    TS 51.014 V.4 Specification of the SIM Application Toolkit for the Subscriber Identity Module - Mobile Equipment (SIM - ME) interface
    USIM:
    TS 31.102 V.6 Characteristics of the Universal Subscriber Identity Module (USIM) application
    TS 31.111 V.6 Universal Subscriber Identity Module (USIM) Application Toolkit (USAT)
    TS 31.115 V.6 Secured packet structure for (Universal) Subscriber Identity Module (U)SIM Toolkit applications
    TS 31.116 V.6 Remote APDU Structure for (Universal) Subscriber Identity Module (U)SIM Toolkit applications
    TS 31.124 V.6 Mobile Equipment (ME) conformance test specification; Universal Subscriber Identity Module Application Toolkit (USAT) conformance test specification
    TS 31.900 V.6 SIM/USIM internal and external interworking aspects
    TR 31.919 V.6 2G/3G Java Card™ Application Programming Interface (API) based applet interworking
    ETSI TS 135.208 Technical Specification Universal Mobile Telecommunications System (UMTS); 3G Security; Specification of the MILENAGE algorithm set
    UICC:
    TS 31.101 V.6 UICC-terminal interface; Physical and logical characteristics
    TS 31.121 V.6 UICC-terminal interface; Universal Subscriber Identity Module (USIM) application test specification
    ETSI TS 102.220 ETSI numbering system for telecommunication application providers
    ETSI TS 102.221 Smart cards; UICC-Terminal interface; Physical and logical characteristics
    ETSI TS 102.222 IC Cards Admin Commands for Telecom
    ETSI TS 102.223 Card Application Toolkit
    ETSI TS 102 241 "Technical Specification Smart Cards; UICC Application Programming Interface (UICC API) for Java Card"
    OTA:
    ETSI TS 102.224 Security mechanisms for UICC based Applications -Functional requirements
    ETSI TS 102.225 Secured packet structure for UICC based applications
    ETSI TS 102.226 Remote APDU structure for UICC based applications
    TS 23.040 V.6 Technical realization of the Short Message Service (SMS) Point-to-Point (PP)
    TS 23.041 V.6 Technical realization of Cell Broadcast Service (CBS)
    (U)SAT:
    TS 23.048 V.5 Security Mechanisms for the (U)SIM application toolkit
    TS 31.111 V.6 Specification of the USIM Application Toolkit
    TS 31.112 V.6 Universal Subscriber Identity Module Application Toolkit (USAT) interpreter architecture description
    TS 31.113 V.6 Universal Subscriber Identity Module Application Toolkit (USAT) interpreter byte codes
    TS 31.114 V.6 Universal Subscriber Identity Module Application Toolkit (USAT) interpreter protocol and administration
    TS 51.014 V.4 Specification of the SIM Application Toolkit for the Subscriber Identity Module - Mobile Equipment (SIM-ME) interface
    ETSI TS 102 223 Card Application Toolkit (CAT)
    SIM Alliance:
    S@T 01.00 Specification 2009 SIMalliance S@T Byte Code
    S@T 01.10 Specification 2009 SIMalliance S@T Markup Language
    S@T 01.20 Specification 2009 SIMalliance S@T Session Protocol
    S@T 01.21 Specification 2009 SIMalliance S@T Administrative Commands
    S@T 01.22 Specification 2009 SIMalliance S@T Operational Commands
    S@T 01.23 Specification 2009 SIMalliance S@T Push Commands
    S@T 01.30 Specification 2007 SIMalliance S@T Validation Test Plan System Functional Tests
    S@T 01.50 Specification 2009 SIMalliance S@T Browser Behaviour Guidelines
    S@T 01.60 Gateway Implement 2009 SIMalliance S@T Gateway Implement
    Security & Algorithm
    TS 33.102 V.6 3G security; Security architecture
    TS 33.105 V.6 Cryptographic algorithm requirements
    TS 35.205 V.6 3G Security; Specification of the MILENAGE algorithm set: An example algorithm set for the 3GPP authentication and key generation functions f1, f1*, f2, f3, f4, f5 and f5*; Document 1: General
    TS 35.206 V.6 3G Security; Specification of the MILENAGE algorithm set: An example algorithm set for the 3GPP authentication and key generation functions f1, f1*, f2, f3, f4, f5 and f5*; Document 2: Algorithm specification
    TS 55.205 V.6 Specification of the GSM-MILENAGE algorithms: An example algorithm set for the GSM Authentication and Key Generation Functions A3 and A8
    Test specification
    TS 31.048 V.5 Security mechanisms for the (U)SIM application toolkit; Test specification
    TS 31.120 V.6 UICC-terminal interface; Physical, electrical and logical test specification
    TS 31.121 V.6 UICC-terminal interface; Universal Subscriber Identity Module (USIM) application test specification
    TS 31.122 V.6 Universal Subscriber Identity Module (USIM) conformance test specification
    TS 31.130 V.6 (U)SIM Application Programming Interface (API); (U)SIM API for Java Card
    TS 31.213 V.6 Test specification for subscriber (U)SIM; Application Programming Interface (API) for Java Card™
    TS 35.203 V.6 Specification of the 3GPP confidentiality and integrity algorithms; Document 3: Implementors' test data
    TS 35.207 V.6 3G Security; Specification of the MILENAGE algorithm set: An example algorithm set for the 3GPP authentication and key generation functions f1, f1*, f2, f3, f4, f5 and f5*; Document 3: Implementors’ test data
    TS 35.208 V.6 3G Security; Specification of the MILENAGE algorithm set: An example algorithm set for the 3GPP authentication and key generation functions f1, f1*, f2, f3, f4, f5 and f5*; Document 4: Design conformance test data
    TR 35.909 V.6 3G Security; Specification of the MILENAGE algorithm set: an example algorithm set for the 3GPP authentication and key generation functions f1, f1*, f2, f3, f4, f5 and f5*; Document 5: Summary and results of design and evaluation
    TS 51.013 V.5 Test specification for Subscriber Identity Module (SIM) Application Programming Interface (API) for Java Card
    TS 51.017 V.4 Subscriber Identity Module (SIM) test specification
    Adriaan
    Edited by: Adriaan on Feb 14, 2012 1:34 AM

  • Java Card GPShell

    Dear All,
    I am having problems in installing the applet on Giesecke & Devrient SmartCafe Expert 3.0 Card which is Global Platform 2.1.1 and Java Card 2.2.1 compliant.
    I was trying with apdutool but not successful in installing so i am now trying with GPShell.
    I am running the sample file which is given as a sample (*helloInstallGP211.txt*)
    Below is the error i am getting:
    G:\JavaCard\GPShell-1.4.2\GPShell-1.4.2>GPShell.exe helloInstallGP211.txt
    mode_211
    enable_trace
    establish_context
    card_connect
    * reader name SCM Microsystems Inc. SDI010 Contactless Reader 0
    select -AID a000000003000000
    Command --> 00A4040008A000000003000000
    Wrapped command --> 00A4040008A000000003000000
    Response <-- 6F108408A000000003000000A5049F6501FF9000
    open_sc -security 1 -keyind 0 -keyver 0 -mac_key 404142434445464748494a4b4c4d4e4f -enc_key 404142434445464748494a4b4c4d4e4f // O
    pen secure channel
    Command --> 80CA006600
    Wrapped command --> 80CA006600
    Response <-- 664C734A06072A864886FC6B01600C060A2A864886FC6B02020101630906072A864886FC6B03640B06092A864886FC6B040215650B06092B851
    0864864020103660C060A2B060104012A026E01029000
    Command --> 80500000084A3362906A044DFA00
    Wrapped command --> 80500000084A3362906A044DFA00
    Response <-- 00000000000030785107010200008C3C7D20A0B89BA027A8629FA4959000
    mutual_authentication() returns 0x80302000 (The verification of the card cryptogram failed.)
    Can anyone help me out in solving this issue.
    Thanks.

    Try smart card shell: http://www.openscdp.org/scsh3/
    and their scripts collection (a lot of scripts): http://www.openscdp.org/scripts/scripts-20081130.zip
    Your may find example that would work on your card.
    as for GPShell I also failed to load and install applets with this tool, only get list of installed applets and delete applets.

  • Need help for equipments for java card with RFID technology .

    I 'm doin a project using java card with RFID technology.Can ne one give me exact equipments for java card reader & writer for RFID technology?
    I need to buy these things from UK.Can ne one provide me some product list & as well as the exact pricelist?
    plz reply me asap.

    I 'm doin a project using java card with RFID
    technology.Can ne one give me exact equipments for
    r java card reader & writer for RFID technology?I guess with "RFID" you are referring to "contact-less javacards"?
    If yes, one keyword for you is "Mifare", a industry standard for smartcards with dual interface (contact-based and contactless).
    Jan

  • Need suggestion regarding simulation of Java Card using a floppy

    Hi All,
    I am working on a project wherein I have to simulate a Java Card application using a floppy. I am writing my own Card Terminal and CardTerminalFactory. Thats what I have started working on. Will that serve the purpose or do I have to think about some other approach like just overriding the cardInserted method of CTListener class? I want to achieve communication between the host application and the floppy(which is my java card) Please advise.
    I would like to thank DurangoVa and Nilesh for helping me out sorting out the error in running the converter.
    Thanks in advance

    Are you referring to a Floppy diskette drive ?

  • Step by step installation for java card kit 2.2.2

    can anyone help me with a complete step by step installation information for java card kit 2.2.2, i already tried to follow the instruction given in the software i download n still stuck in setting the java path. any recommendation
    thanks for the help

    The javacard API is for developing applets on card. Java 6 is for developing clients off-card.
    yes u can use any java IDEs like netbeans or jcreator. But you will have to select the libraries within the downloaded java card kit folder for ur IDE in order to compile successfully.
    try reading up the documentation and run the samples in the java card kit. thats a good place to start.

  • J2me and java card, need help to communicate

    we are trying to put together a reader to read smartcards using j2me and we figure that it would be easiest if we could develop it to work with java cards rather than standard smart cards, the problem is we get garbage when we communicate to it, the chip sends us crap, any suggestions what might be wrong, any calls we might be missing, has anyone worked with j2me and java cards or smart cards, any help would be appreciated.
    einar

    .... reader app and the ME behind it .... smells like mobile ....
    First of all - if you want to have one mobile application running on this just make sure that whatever is written in ME can use drivers from the reader chip ....
    Workin on the PC is something completely different. There was one good example how to develop one host application in Java provided with the JCOP tools long ago ... I don't know if this is now in the new Eclipse tools.
    But - there was a small API provided that can give you good hints what to do - and - once you have it on the reader side - you can easily integrate ME methods with this ...

Maybe you are looking for

  • Updating Oracle BLOBs through Tomcat's DBCP

    Hi, I've been using Tomcat's DBCP and I'm trying to cast my ResultSet to an OracleResultSet so I can use the getBLOB message. I've searched and realized I had to take part of it out of the wrapper, so I got the connection out of the wrapper using: co

  • Bcp_init fails in Red Hat Enterprise Linux Server release 6.0

    Hi, I tried to do few basic BCP stuff using C. I have installed unixODBC 2.3.0 and MSSQL ODBC driver SQL Server Native Client 11.0. I tried connecting to my remote MSSQL Server(2008 r2 & 2012) using 'isql', it works! But when I tried running bcp_init

  • Adobe PS CS4 does not "see" my USB Drives in Finder

    For some bizarre reason, PS CS4 is no longer "finding" my USB 2TB drive in the Finder/Devices window on my iMac (nothing is showing in devices).  However, it is seeing my my WD NAS drives, and if I go into Finder on my own, it shows the USB drives. 

  • Select pcs based on IP

    Hi guys Can i create a GPO that select pc's based on their ip adress and assign certain WSUS Server settings to them - is this possible? If so, where would i start? Thanks in advance

  • Business case

    HI SAP-XI Guru, can you please discuss some business cases where we need SAP-XI in real time project. Thanks & Regards Krishna