小编Pau*_*ian的帖子

自锁一个Javacard小程序

我的问题是,是否可以从applet本身的代码中锁定applet作为从代码中检测到的操作的对策.

显而易见的选择是使用GPSystem.lockCard();并且它有效,但是我想知道是否可以仅锁定applet.此外,我可以从相关安全域的经过身份验证的会话中锁定applet本身.但它是否可以从applet代码本身.看来,考虑到GPSystem.setCardContentState();使用的方法GPSystem.APPLICATION_LOCKED,所以我也测试了但是它不起作用.

重读GP卡规范说明2.2 PDF:

开放应拒绝任何转换请求锁定生命周期状态;

在我的Eclipse中,JavaDoc说:

开放应拒绝任何转换请求的生命周期状态已锁定

这里发生了什么?

security lifecycle smartcard javacard globalplatform

8
推荐指数
2
解决办法
791
查看次数

个性化中安全域与Applet的关系

指南对常见的个性化描述Personlalization以下过程:

  • 重启
  • Atr
  • 选择 AID 进行个性化
  • 启动安全通道
  • 多个存储数据命令

安全通道与安全域一起建立,保存 DGI 的存储数据命令被转发到小程序。Applet 具有来自org.globalplatform包的ApplicationPersonalization接口,并继承processData方法以使用 Store-data 命令。

现在的问题是我是否必须自己在我的小程序中实现init-updateexternal-authenticate命令,因为不再选择安全域并且我的小程序不知道这些 INS?JCRE 是否会自动检测这些 GlobalPlatform APDU 并将它们转发到 SecurityDomain?如果不是,为什么这不被 JCRE 隐藏/过滤?

e:我在 2006 年的 Global Platform 网站上找到了一个名为 CPSDemonstrator 的旧示例:http ://www.globalplatform.org/specificationform.asp?fid = 6596 除了已弃用的 API 调用之外,这仍然是标准方法吗?

smartcard javacard globalplatform

5
推荐指数
1
解决办法
1609
查看次数

如何转换 Java Card 的 ECDSA 曲线参数

如何转换这些 192-ECDSA 曲线参数以在 Java Card 中使用?

p = 6277101735386680763835789423207666416083908700390324961279 
n = 6277101735386680763835789423176059013767194773182842284081 
SEED = 3045ae6f c8422f64 ed579528 d38120ea e12196d5 
c = 3099d2bb bfcb2538 542dcd5f b078b6ef 5f3d6fe2 c745de65
b = 64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1 
Gx = 188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012
Gy = 07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811
Run Code Online (Sandbox Code Playgroud)

cryptography digital-signature javacard ecdsa

2
推荐指数
1
解决办法
478
查看次数