Is there any alternative to GlobalPlatform Shell for Java Cards?

globalplatform dll
globalplatform card specification
cplc card production life cycle
gpshell-1.4 4

I know that GP Shell is a tool for testing I/O to Java Cards.

But, it is very cumbersome to work with.

Is there any alternative to GP Shell which doesn't need written scripts?

Yes, there is.

1-

You can use GlobalPlatformPro.It's an opensource, well-documented and easy use tool for card's content management.

Quoted from its website:

Load and manage applets on compatible > JavaCards from command line or from your Java project with a Do What I Mean approach.

2-

For sending APDU commands and communicating with the card you can use another opensource easy use tool named OpenSC-Tool.

Quoted from its website:

The opensc-tool utility can be used from the command line to perform miscellaneous smart card operations such as getting the card ATR or sending arbitrary APDU commands to a card.

3-

There is another GUI tool named JCmanager for installing applets on the card and managing authentication keys. But this tool is old and not meant to be used anymore (It still works fine by the way.)

4-

You can also make your application to communicate with smart cards using available libraries. Java has javax.smartcardio package, and Python has PySCard library.

javacard, Another alternative is the iButton, a 16mm computer chip contained in a stainless steel shell, able to be accelerator able to support a Java Card-compliant Virtual Machine. However hardware module complies with Java Card 2.2.1, Global Platform 2.1, FIPS 140-2 (currently “echo %USERPROFILE%” in a DOS shell. Is there any alternative to GlobalPlatform Shell for Java Cards? javacard. Yes, there is. 1- You can use GlobalPlatformPro.It's an opensource, well-documented and easy use tool for card's content management.

You can use the tool pyApduTool to manage your smart card resource:

  1. List packages/applets;
  2. Upload package;
  3. Install applet instance;
  4. Delete packages /applets;
  5. Select applet / card manager;
  6. Send other apdu command to your card;
  7. Run APDU script in *.scr file;
  8. Change GP key to your own;

Link to pyApduTool

[PDF] Smart cards and mobile handheld devices: an overview , Some cards are not supporting the GET DATA command. For the VISA2 key derivation scheme, like used in a GemXpresso Pro, official container format for JavaCard applets and they should work with GPShell. Probably every Java Card Smartcard that you can find out there is Global Platform compatible. However you usually don't need to worry about Global Platform interna as the tool you use for uploading and installing java card applets will do it for you(for example JCOP Tools, GP Shell, gpj, etc) answered Nov 15 '14 at 23:36 Paul Bastian Paul Bastian

A complete list of tools for managing JavaCards was compiled here by Martin P. creator of GlobalPlatform Pro (the best tool by these testimonials):

This is a copy-paste, refer to GlobalPlatform Pro page for latest updates

•   gpj (the grandparent) - http://gpj.sf.net (LGPL)
    o   written in Java
    o   continued as GlobalPlatformPro
    o   harder to use from the command line
    o   no new features or standards
•   GPShell + globalplatform library - http://sourceforge.net/projects/globalplatform/ (LGPL)
    o   written in C
    o   often referred to as the de facto open source GlobalPlatform implementation
    o   several components need to be compiled and installed before usage
    o   requires more complex "script files" and does not provide a direct command line utility
•   jcManager - http://www.brokenmill.com/2010/03/java-secure-card-manager/ (LGPL)
    o   written in Java
    o   has a basic GUI
    o   old and not maintained
•   gpjNG - https://github.com/SimplyTapp/gpjNG (LGPL)
    o   fork of gpj with minor additions, mostly a "script mode" that makes it similar to GPShell
•   Ruby smartcard module - http://smartcard.rubyforge.org/classes/Smartcard/Gp/GpCardMixin.html (MIT)
    o   written in Ruby
    o   does not seem to expose all functionality (key diversification, key change etc)
    o   no command line utility
•   JGPShell - https://sourceforge.net/projects/jgpshell/ (GPL2)
    o   written in Java
    o   GPShell-style scripting goal
    o   not really usable and also abandoned
•   OPAL - https://bitbucket.org/ssd/opal (CeCILL, GPLv2 compatible)
    o   written in Java
    o   claims to have SCP03 support (but no tested cards)
    o   looks "heavy" and over-engineered
    o   smoke tests give exceptions and doesn't work on OSX nor Debian.
•   gpcomm - https://code.google.com/p/gpcomm/
    o   written in Java
    o   incomplete and abandoned
•   globalplatform.net - https://github.com/sepulo/globalplatform.net
    o   written in c#
    o   unclear license (missing)
    o   only supports SCP01 and SCP02
•   GlobalPlatform.NET - https://github.com/jamesharling/GlobalPlatform.NET (GPLv3)
    o   wirtten in c#
    o   only supports SCP02
    o   fluent interface
•   asterix - https://github.com/suma12/asterix (LGPL 2.1)
    o   written in Python
    o   SCP02, SCP03
•   LuaGP - https://github.com/bondhan/LuaGP
    o   written in Lua
    o   unclear license (missing)
•   JCOP tools, RADIII, JCardManager4, JLoad, PyApduTool etc
    o   not publicly available cross-platform open source projects and thus not suitable for this comparision

GlobalPlatform / Wiki / GPShell, token on java card · How to send the APDU command to get a success response? Is there any alternative to GlobalPlatform Shell for Java Cards? JavaCard  Is there any alternative to GlobalPlatform Shell for Java Cards? javacard. Yes, there is. 1- You can use GlobalPlatformPro.It's an opensource, well-documented and easy use tool for card's content management.

javacard - jQuery, Java Card™ application or a native application. Note: Device/target bindings for the Open Mobile API MAY provide alternative asynchronous notification. Code. The project provides functionality to interface the SmartCardIO Java SDK library to Global Platform compliant smart cards, similar to globalplatform.sf.net. The difference is pure Java implementation and easy plug in to your SmartCardIO applications.

[PDF] Open Mobile API Specification v3.2.0.13, Receiving “NO CARRIER” error while tring to make a call using GSM modem in Python Is there any alternative to GlobalPlatform Shell for Java Cards? The title originates from the standards it complies with: Java Card specifications. GlobalPlatform (formerly known as Visa Inc OpenPlatform) specifications. A Java Card JCOP has a Java Card Virtual Machine (JCVM) which allows it to run applications written in Java programming language .

User Abraham, D.1 Scheme for loading an applet into a Java Card. again[42]. The alternative would be for the server to trust in another entity to perform the local the Global Platform, were generated and sent to the Java Card by the Global Platform Shell. In regard to GlobalPlatform, the goal is to make simple operations like installing and removing applets and locking the card with new keys as easy as next-next-done - you don't have to know the whole Global Platform specification by heart for that or buy a piece of proprietary software for a few hundred euros!

Comments
  • Do these tools support Java Card 2.x.x?
  • @BROY Yes, They support all the JavaCard platforms. Actually you shouldn't be worry about compatibility of these tools with your card. You only must be careful about the compatibility of your JavaCard applets (the CAP files) with your card.