- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个 .CAP 文件 (applet),我想将它安装到我的 java 卡上。我知道我可以使用 GPSshell 或 apdutool(来自 JCDK)等工具来执行此操作,但我想自己复制安装过程。
令人困惑的是,在 GP 标准中,安装过程是:APDU 命令 INSTALL[for load] 后跟多个 LOAD 命令,然后是 INSTALL[for install] 命令。
虽然 oracle 文档建议使用不同的 APDU 命令序列来安装 .CAP 文件:选择(发行者安全域?)、CAP 开始、组件 ## Begin+Data+End(对于每个组件)、CAP 结束、创建小程序。
这两种安装小程序的方法是否等同?
LOAD 命令的 DATA 字段包含什么? GP 标准没有具体说明,我知道从 .CAP 文件发送原始字节是错误的。我使用 GPSshell 成功安装了小程序,但 LOAD 命令的 DATA 字段对我来说毫无意义。 GPShell output
对于 oracle 方法,我使用 Java Card Developement Kit 中的 scriptgen 来生成 APDU 命令,但是这些命令(B0、B2、B4、BC、BA)中的 INS 字节没有 GP 引用。 scriptgen output
最佳答案
While the oracle documentation proposes a different sequence of APDU commands for installing the .CAP file: Select( Issuer Security Domain? ) , CAP begin, Component ## Begin+Data+End ( for each component ), CAP End, Create Applet.
在安装 applet 之前需要选择卡管理器(发行者安全域 - Root),因为它负责在卡上加载和安装 applet。另请注意,您需要通过建立安全通道(最好是 SCP02)向卡管理器进行身份验证。
执行以下 APDU 序列来安装小程序:-
选择颁发者安全域 (ISD)。00 a4 04 00 Lc AID_ISD
使用 ISD 进行身份验证。
设置 SCP02(引用命令初始化更新,外部验证)。在这里,您将需要卡的 3DES key 。引用文档随卡提供。
发送 apdu,安装 [for Load]。
The confusing thing is that in the GP standard the installation process is : APDU command INSTALL[for load] followed by multiple LOAD commands followed by INSTALL[for install] command.
发送 apdu,加载 block 。
.cap 您将拥有的小程序文件是其组成 CAP 的 zip文件(http://pfa12.free.fr/doc_java/javacard_specifications/specs/jcvm/html/JCVM06cap.html)。因此,您需要将每个 CAP 文件一个一个地发送到卡中。
加载(Header.cap)、加载(Directory.cap)...等
发送 apdu,安装 [for Install]。安装完成。
关于java - 将 applet 安装到 java 卡的 APDU 命令顺序是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46296789/
我听说最好不要从您系统的 Perl 版本所在的 CPAN 安装模块。我知道如何使用命令行安装模块,我只是想知道是否有办法将 CPAN 与系统核心 Perl 分开。 我应该: 下载源代码并专门为这些模块
我听说最好不要从系统的 Perl 版本所在的 CPAN 安装模块。我知道如何使用命令行安装模块,我只是想知道是否有办法将 CPAN 与系统的核心 Perl 分开。 我应该: 下载源代码并专门为这些模块
单独安装 electron 与通过 electron-builder 安装有什么区别?我正在使用 React 构建一个 Electron 应用程序,并且已经找到了一些教程。它们安装 Electron
两者安装有什么区别?我按照安装页面上的说明在全局范围内安装了 webpack,然后我转到了入门指南,据说在那里可以在本地安装 webpack-cli。 CLI = Command Line Inter
我在 OS X Yosemite 上用 PHP 安装了默认的 Apache 服务器,安装了 pear,用 brew 安装了 Solr (brew install solr),现在我正在尝试使用 PEC
我解压并编译了 Ruby 2.1 并安装了几个支持工具。 但是当我安装了 libssl-dev 时,OpenSSL 不会安装。 我在支持 openssl 时遇到这个错误: make: *** No r
我在 android studio 2.3.1 和 gradle 3.2 中设计了 2 到 3 个应用程序。当我从它运行应用程序到任何设备或模拟器时,一切都工作正常。但是当我从构建文件夹中获取该 ap
我注意到我正在读一本书提到通过 apt-get 安装 numpy 和 opencv apt-get install python-numpy python-opencv 但我可以通过以下方式在 pip
我正在尝试在 Windows 8.1 上安装 ansicon。我提取了文件并达到了我需要调用 ansicon -i 的级别。当我在 cmd 中输入此内容并运行 python 脚本时效果很好,但是当我通
我有 linux MINT 17.3 Kernel 4.4.0-81 所有更新可用。 (由于不同的原因,我无法迁移到更新版本的 ubuntu/mint) 我已经通过 PPA 安装了 FFMPEG(不是
尝试在本地运行我的应用程序时出现错误: 我只在 chrome 浏览器中收到此错误。我尝试过不同的东西,但我不确定为什么它是 Chrome 特定的。 最佳答案 我怀疑这不是 Firebase 问题,而是
这是我第一次开发 AngularJS 应用程序并使用脚手架工具 Yeoman ( http://yeoman.io/ )。我想对我的一些图标使用 fontawesome ( http://fortaw
我知道您通常“应该”$ pip install 如果包没有 brew ,但如果有一个你想安装的 python 包,你可以使用 $ pip install或 $ brew install为了?例如,通过
我正在尝试通过 RVM 安装 Ruby 1.9.3。然而,当谈到安装 RubyGems 时,我得到了这个: curl: (22) The requested URL returned error: 4
我是真正提出问题的新手,但你去吧。 我一直在尝试按照安装指南添加 dnsname: https://github.com/containers/dnsname https://github.com/c
Studio更新至0.4.0 建筑产量为“需要1.8版Gradle”;将设置设置为1.8 bin目录; 建立 “要求1.9级”;将设置设置为1.9 bin; 建立 “要求1.8级” 啊。不知道该怎么做
我刚刚注意到 kernel.org 因维护而停机。是否有使用不同镜子的不同公式?或者我可以向 Homebrew 软件添加不同的来源(如 bundler ?)? 谢谢你的帮助! 最佳答案 快速解决方法:
当我运行时: peardev install phpunit/PHPUnit 我得到以下信息: No releases available for package "pear.phpunit.de/P
服务器操作系统为Fedora 24. 64bit。 我想安装 Git 2.6.6。 所以下载源码并安装。 此服务器离线。所以我不使用“yum”。 ./configure --prefix=/usr/l
我正在尝试在我自己的服务器(操作系统:Linux Ubuntu Server 12.04)上安装 OpenEdX,但我遇到了同样的错误。谁能帮帮我? TASK: [ insights | insta
我是一名优秀的程序员,十分优秀!