package org.cryptonit;

public class FileIndex {

    /**
     * Discovery Object                                                      0x6050 '7E'     19
     */
    public final static byte DISCOVERY           = 0x3;
    public IndexEntry [] entries;

    public final static byte[] discovery = {
        (byte) 0x7E, (byte) 0x12, (byte) 0x4F, (byte) 0x0B, (byte) 0xA0,
        (byte) 0x00, (byte) 0x00, (byte) 0x03, (byte) 0x08, (byte) 0x00,
        (byte) 0x00, (byte) 0x10, (byte) 0x00, (byte) 0x01, (byte) 0x00,
        (byte) 0x5F, (byte) 0x2F, (byte) 0x02, (byte) 0x40, (byte) 0x00
    };

    public FileIndex() {
        entries = new IndexEntry[11];
        entries[DISCOVERY      ] = new IndexEntry(DISCOVERY      , (short) 0x6050, discovery);
    }
}

@@ -303,33 +303,153 @@
     
-(byte) 0x7E, (byte) 0x12,
+/* (0x7E) Discovery Object: interindustry ISO7816 template */%0A        (byte) 0x7E, (byte) 0x12,%0A        /* - (0x4F) AID of Application */%0A       
  (by
@@ -470,16 +470,24 @@
 e) 0x0B,
+%0A       
  (byte) 
@@ -491,24 +491,16 @@
 e) 0xA0,
-%0A       
  (byte) 
@@ -622,32 +622,71 @@
 1, (byte) 0x00,%0A
+        /* - (0x5F2F)  Usage Policy */%0A
         (byte) 0

Document discovery object