VhlCfg / File / MifarePlusFormatOriginalKeyIdx Value

This value is used by Mifare plus firmware only and needed for running VHL-Format(). To encode the new sector trailer, the reader tries to authenticate with all the keys specified in the list. If this value is omitted it defaults to authenticate with 'FF' * 6 as Key A (Mifare transport keys) or with '00' * 16 (AES transport keys). Using Mifare plus with cards in SL2/3, VHL-Format() first updates the AES keylist, second the sector trailer. To allow retries of the VHL-Format() command also the new keys which are used for key change should be included in this configuration value.

Properties

Format

Name Type/Size Description
- Array (until end of frame) Every entry is build of a 1 byte Bool and a 2 byte key index.
UseKeyB Bit mask (8 bits) -
RFU Integer (bit mask area 0xFE) Zero padding
FormatWithKeyB Boolean (bit 0x01) -
OriginalKeyMemoryType Enumeration (8 bits) This value references a key memory type within the reader. VHL detects the security level (SL0..3) of a Mifare classic/plus card automatically and according to the security level the adequate key memories (AES and/or Mifare keys) are chosen. For some key memory types a card in Mifare plus security level 2 (SL2) needs both keys (AES and Mifare): then the configuration value MifarePlusKeyIdxOffset describes an offset of Mifare keys to AES keys (! signed value).
Values:
  • CryptoKey (0x00)
    References keys within the CryptoKey memory.
    Key offset needed: refer to MifarePlusKeyIdxOffset
  • SamKey (0x01)
    References keys within a SAM, only available on SAM based readers: key index from 0x00 to 0x7F, a SAM key contains up to 3 AES keys with different versions or 3 Mifare key pairs (A and B). VHL uses always the first SAM key.
    Key offset needed: see MifarePlusKeyIdxOffset
  • ReaderChipKey (0x02)
    References keys which are stored in reader chip memory: 32 keys (index 0..31) are available. This memory contains only keys for Mifare classic cards (SL1).
  • VhlKey (0x03)
    References keys which are defined in respective VHL files:
    AES keys in MifarePlusAesKeyList
    Mifare keys in MifareKeyList
OriginalKeyIdx Integer (8 bits) Index to key: first key in list will be accessed with value 0, second with 1...