ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java – 在JCIDE中调试时安装.cap文件时出现错误’6985”6A88′

2019-08-30 01:02:39  阅读:389  来源: 互联网

标签:java debugging ide applet javacard


我正在使用JCIDE调试其示例applet- walletdemo.

我装错了6985

conditions not satisfied’and 6A88’Referenced data or reference data
not found

在调试时在JCVM上安装.cap文件期间.但我不知道什么是错的,怎么办.

以下是applet的一部分:

private WalletDemoApplet(byte bArray[], short bOffset, byte bLength)
{
   /* cardid=new byte[MAX_NUM_CARDID];
    key  =new byte[MAX_NUM_KEYS];
    for (byte i = 0; i < MAX_NUM_KEYS; i++)
        key[i] =i;
    for (byte i = 0; i < MAX_NUM_CARDID; i++)
        cardid[i] =i;*/

    balance  = 0;
    integral = 0;


    Key = (DESKey)KeyBuilder.buildKey(KeyBuilder.TYPE_DES, KeyBuilder.LENGTH_DES3_2KEY, false);         
    //cipherDES_ECB_NOPAD = Cipher.getInstance(Cipher.ALG_DES_ECB_NOPAD, false);
    cipherDES_ECB_NOPAD = Cipher.getInstance(Cipher.ALG_DES_CBC_ISO9797_M1, false);
    myRandomS = RandomData.getInstance(RandomData.ALG_SECURE_RANDOM);

    pin = new OwnerPIN(PIN_TRY_LIMIT,   MAX_PIN_SIZE);
    cardID = new byte[10];
    output = new byte[16];
    //input = new byte[16];
    bRand = false;
    ExternalMark=false;
    verifyMark=false;
    byte iLen = bArray[bOffset]; // aid length
    bOffset = (short) (bOffset+iLen+1);
    byte cLen = bArray[bOffset]; // info length
    bOffset = (short) (bOffset+cLen+1);
    byte aLen = bArray[bOffset]; // applet data length
    bOffset = (short)(bOffset+1);        
    byte pinLen = bArray[bOffset];


    // The installation parameters contain the PIN
    // initialization value
    pin.update(bArray, (short)(bOffset+1), pinLen);

    // Initialize key
    bOffset = (short)(bOffset+pinLen+1);
    byte keyLen = bArray[bOffset];
    Key.setKey(bArray, (short)(bOffset+1));

    // Initialize cardID
    bOffset = (short)(bOffset+keyLen+1);
    byte idLen = bArray[bOffset];
    Util.arrayCopy(bArray, (short)(bOffset+1), cardID, (short)0, (short)idLen); 

    register(); 
}
public static void install(byte[] bArray, short bOffset, byte bLength) {
    // GP-compliant JavaCard applet registration
    new WalletDemoApplet(bArray, bOffset, bLength);

}

解决方法:

如果问题不是由算法引起的,可能是因为安装时需要安装参数.您可以尝试设置安装参数,例如“08112233445566778810404142434445464748494A4B4C4D4E4F080010203040506070”.

我希望我能帮助你.

标签:java,debugging,ide,applet,javacard
来源: https://codeday.me/bug/20190830/1764816.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有