标签: javacard

如何删除智能卡上的卡管理器小程序?

我有一个 javacard,当我重置卡时,卡上的所有小程序都被清除,除了其中一个。它是“卡管理器小程序”,其 AID 为“A0000000030000”。我想知道有没有办法删除这个小程序?!或者它是卡上的强制性的并且没有办法删除它?如果可以删除它,删除它后,我们如何处理卡?(安装另一个小程序等)谢谢。

applet javacard globalplatform

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

智能卡中的身份验证密钥

我使用JCManager工具在我的 java 卡上加载小程序。该软件在顶部有三个身份验证密钥字段,名为S_ENCS_MACDEK

据我所知,ENC代表EncryptionMAC代表Message Authentication CodeDEK代表Data Encryption Key

我想知道他们何时使用(通信的哪一步?初始更新外部身份验证?...)?

每次通信中都使用这三个密钥,还是其中一些密钥可以选择使用?

哪里?(卡或终端或两者兼而有之?)

另外,我想知道什么是KEKKEK智能卡里有吗?

encryption cryptography smartcard javacard smartcard-reader

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

Java Card 小程序:如何在智能卡中创建 EF、DF?

我是 Java Card 开发的新手,我正在尝试开发一个可以选择和读取 EF 数据的小程序。我想用一些假数据创建 EF 和 DF,并将其存储在卡中。然后我会用我的小程序来读取这些数据。是否可以?如果是这样,我该怎么做?请帮助,我已经搜索了很多,但我没有找到任何解决方案。

非常感谢。

smartcard javacard

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

Java Card 对 INS = 0x70 的 APDU 有一个奇怪的响应

下面,您会看到一个简单的小程序,它返回0x6781到带有 INS=0x70或 INS= 的传入 APDU 命令0x71

package testPack;
import javacard.framework.*;

public class TestApp extends Applet
{

    public static void install(byte[] bArray, short bOffset, byte bLength) 
    {
        new TestApp().register(bArray, (short) (bOffset + 1), bArray[bOffset]);
    }

    public void process(APDU apdu)
    {
        if (selectingApplet())
        {
            return;
        }

        byte[] buf = apdu.getBuffer();
        switch (buf[ISO7816.OFFSET_INS])
        {
        case (byte)0x70:
            ISOException.throwIt((short)0x6781);
            break;
        case (byte)0x71:
            ISOException.throwIt((short)0x6781);
            break;
        default:
            ISOException.throwIt(ISO7816.SW_INS_NOT_SUPPORTED);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是,我收到0x6C01了带有 INS= 的 APDU 命令0x70

Send: …
Run Code Online (Sandbox Code Playgroud)

javacard pcsc smartcard-reader globalplatform

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

如何在 Java Card 中使用浮点数?

我需要你的帮助:有人知道如何在 Java Card 中呈现浮动吗?

我需要的浮点数是0.9. 我听说我需要使用浮点或类似的东西,但我不太确定。

javacard

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

Java卡PBKDF2实现

我正在尝试在java卡上实现pbkdf2,但该卡不支持相同的功能。有人可以帮忙吗。

javacard

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

Eclipse中的JCDE插件不起作用,java卡

我复制eclipse-jcde-0.2到eclipse'plugin文件夹,但eclipse中的插件不起作用,我还缺少必要的东西,如FEATURES文件夹,我怎样才能获得这些功能?

OS:windows
Eclipse version :3.2.
Run Code Online (Sandbox Code Playgroud)

eclipse plugins javacard

0
推荐指数
1
解决办法
2123
查看次数

尝试Java卡应用程序在真正的智能卡上

我将使用Java Card Framework编写一个智能卡应用程序.当我完成我的应用程序时,我想设置一个真正的智能卡并尝试它.我必须拥有哪些设备?如何在真正的智能卡上运行我的代码我必须在我的电脑和智能卡之间提供一个连接器,不是吗?

apdu javacard

0
推荐指数
1
解决办法
1424
查看次数

在Java Card中将字节附加到字节数组中

我有一个方法将单个字节插入字节缓冲区,在构建和清理Java Card CAP文件期间,它会抛出错误.

码:

private void appendOutputBuffer(byte msg) {
    ArrayLogic.arrayCopyRepack(msg, (short) 0, (short) 0, outputBuffer, (short) outputBuffer.length);
}
Run Code Online (Sandbox Code Playgroud)

错误:

error: line 163: sctest: class java.lang.Byte not found in export file lang.exp.
error: line 163: sctest: method valueOf(byte) of class java.lang.Byte not found in export file lang.exp or the method signature has changed.
error: line 163: sctest: class java.lang.Byte not found in export file lang.exp.
error: line 163: sctest: class java.lang.Byte in return type of method java.lang.Byte.valueOf(byte) not found.
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

byte javacard

0
推荐指数
1
解决办法
375
查看次数

如何获取java卡中的AID列表?

我想获得java卡中的所有AID。我不知道我该怎么办?有人可以帮我吗?

javacard

-1
推荐指数
1
解决办法
1726
查看次数

如何在Java Card 2.2.1上生成MD5哈希?

我正在尝试使用支持MD5的Java Card对8字节消息(可能需要将其放大到128)进行哈希处理。这是我的源代码:

package net.sourceforge.globalplatform.jc.helloworld;
import javacard.framework.*;
import javacard.security.*;
import javacardx.crypto.Cipher;

import javax.print.attribute.standard.MediaSize;
import java.util.logging.Level;

public class HelloWorldApplet extends Applet {

final static byte  APPLET_CLA    = (byte)0x80;
final static byte  HASH          = (byte)0x05;

public static byte[] Message;

MessageDigest mDig = MessageDigest.getInstance(MessageDigest.ALG_MD5, true);

public static void install(byte[] bArray, short bOffset, byte bLength)
{
    Message = new byte[256];
    new HelloWorldApplet().register(bArray, (short) (bOffset + 1), bArray[bOffset]);
}

public void process(APDU apdu)
{
    if (selectingApplet())
    {
        return;
    }

    byte[] buffer = apdu.getBuffer();
    if (buffer[ISO7816.OFFSET_CLA] == …
Run Code Online (Sandbox Code Playgroud)

md5 apdu smartcard javacard message-digest

-1
推荐指数
1
解决办法
384
查看次数

应用程序协议数据单元(APDU)命令和响应的结构是什么?

我正在努力学习Java Card.我刚开始并没有找到很多资源.我的第一个问题是如何理解APDU命令.(例如ISO/IEC 7816-4中定义的那些)

例如,如果我看到一个字节模式,例如10101010我如何理解它的含义,特别是确定CLAINS,例如?

iso javacard

-2
推荐指数
2
解决办法
8476
查看次数