我将用Java卡Framework.When编写智能卡的应用程序我完成了我的应用程序,我想设置一个真正的智能卡,并尝试我必须拥有的it.Which设备?我如何在一张真正的智能卡上运行我的代码?我必须在我的计算机和智能卡之间提供一个连接器,不是吗?
发布于 2015-04-30 11:11:21
在IDE (如Eclipse或Netbeans)中编写Java Card应用程序(我们称之为applet)之后,您可以通过以下步骤在真正的智能卡上与其通信:
.java文件转换为.class文件.class工具将.cap文件转换为converter文件.cap文件。步骤1和2:
如果您想使用Java v2.2.2或v2.2.1兼容卡,只需在Eclipse中添加Eclipse-JCDE插件和Java卡开发工具包即可完成步骤1和步骤2。(使用此插件这里和这里的一步一步的简单教程)
如果您想使用Java v3.x兼容卡,可以使用Netbeans IDE的较新版本( by is 7.3),默认情况下,该版本包含执行步骤1和步骤2所需的工具和插件。(一个简单的逐步教程,这里)
在这些步骤中,您将两个5-16字节的数字设置为应用程序及其包的applet AID (标识符)和程序包AID。
请注意,您可以在不使用任何IDE的情况下,只使用JCDK-s来执行这些步骤,但这有点棘手。此外,Netbeans还在JCDK模拟器(名为CREF和JCWDE__)中添加了另一个Java模拟器。
步骤3和4:
将智能卡读取器(FYI也是智能卡写入器)连接到计算机上。然后使用JCManager工具(易于使用)或更新的工具GlobalPlatformPro tool (易于使用、文档完整、非常全面)上载.cap文件,并分别或同时安装applet。您需要您的卡的身份验证密钥,以获得上传和安装applet的权限。
步骤5和6:
通常,您的智能卡读卡器有一个工具,可以让您与卡进行通信(发送APDU命令和接收数据和状态词),但您也可以使用一些免费的开源工具,如OpenSC-工具。首先,向卡片发送一个SELECT APDU命令,并在其数据字段中使用applet的AID。第二,你向卡片发送其他命令。
备注:
您可以在Java或PySCard库中使用Python中的PySCard包编写步骤3、4、5和6的专有程序。(步骤5和6很容易,但步骤3和4有点困难);
"APDU“(应用程序数据协议单元)是用来从卡发送命令响应的协议。
https://stackoverflow.com/questions/29964333
复制相似问题