有没有替代GlobalPlatform Shell for Java Cards的替代方案?

时间:2015-05-28 20:44:32

标签: javacard

我知道GP Shell是一种测试Java卡I / O的工具。

但是,使用起来非常麻烦。

有没有GP Shell的替代品,不需要编写脚本?

3 个答案:

答案 0 :(得分:5)

是的,有。

<强> 1 -

您可以使用GlobalPlatformPro。它是一种开源,文档齐全且易于使用的工具,可用于卡片的内容管理。

引自其网站:

  

在兼容的&gt;上加载和管理applet JavaCards来自命令行或来自   你的Java项目与我的意思   方法

<强> 2 -

要发送APDU命令并与卡通信,您可以使用另一个名为OpenSC-Tool的开源易用工具。

引自其网站:

  

可以使用opensc-tool实用程序   从命令行执行   各种智能卡操作等   获得卡ATR或发送   任意APDU命令到卡。

第3 -

还有另一个名为JCmanager的GUI工具,用于在卡上安装applet并管理身份验证密钥。但是这个工具已经过时了,并不打算再使用了(顺便说一句,它仍然能正常工作。)

4 -

您还可以使用可用库使应用程序与智能卡通信。 Java有javax.smartcardio个包,而Python有PySCard个库。

答案 1 :(得分:4)

您可以使用pyApduTool工具管理您的智能卡资源:

  1. 列出包/小程序;
  2. 上传包裹;
  3. 安装applet实例;
  4. 删除包/小程序;
  5. 选择小程序/卡片管理器;
  6. 发送其他apdu命令到您的卡;
  7. 在* .scr文件中运行APDU脚本;
  8. 将GP密钥更改为您自己的密钥;
  9. Link to pyApduTool

答案 2 :(得分:1)

complete list of tools for managing JavaCards是由 GlobalPlatform Pro the best tool by these testimonials)的创建者Martin P.编译的:

这是复制粘贴,有关最新更新,请参考GlobalPlatform Pro page

•   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