Mif.VirtualCardSelect
Command is only supported by MIFARE Plus EV1 cards. Selected in
ISO14443-3 mode the VCSupportLastISOL3 command is executed.
Selected in ISO14443-4 mode the IsoSelect command is executed
If the card answers in the latter case with a Payload (UID does
not match or authentication with VCSelection is mandatory) the
reader executes an additional ISOExternalAuthentication command
Properties
- Command code: 0x101A
- Command timeout: 100 ms
- Possible status codes: General status codes, Mif.ErrNoTag, Mif.ErrAuth, Mif.ErrKey, Mif.ErrCode , Mif.ErrCmd, Mif.ErrNotauth, Mif.ErrKey, Mif.CondNotvalid
Parameters (request frame)
Name | Type/Size | Description | |
---|---|---|---|
- | Bit mask (8 bits) | - | |
RFU | Integer (bit mask area 0xC0) |
Zero padding |
|
ForceVcsAuthentication | Boolean (bit 0x20) | Forces authentication to a virtual card. A card without encryption returns Mif.VcsAndProxCheckError | |
UseExtVcSelectKeys | Boolean (bit 0x10) | Authenticates to a virtual card. A MAC and an encryption key have to be specified. Use (external) Virtual Card keys given as command parameter. | |
DiversifyMacKey | Integer (bit mask area 0x0C) |
Diversifies VC Mac key.
Remarks for use of divinput: VC-UID is obtained by decryption of the card response. If VC-UID is concatenated with divinput the input wil be limited to 31 bytes. |
|
DiversifyEncKey | Boolean (bit 0x02) | Diversifies VC Encryption key | |
UseVcSelectKeys | Boolean (bit 0x01) | Authenticates to a virtual card. A MAC and a encryption key has to be specified. Use keys stored in CryptoMemory or SAM. | |
Length of IID | Integer (8 bits) |
Length of IID in bytes |
|
IID | Raw data | Virtual Card Identifier. | |
Optional field, condition: UseVcSelectKeys | |||
EncKeyIdx | Integer (16 bits) |
Crypto Memory Index (SAM or CryptoMemory) of virtual card select key
|
|
MacKeyIdx | Integer (16 bits) |
Crypto Memory Index (SAM or CryptoMemory) of MAC key
|
|
Optional field, condition: (DiversifyMacKey == 1) or (DiversifyMacKey == 2) or (DiversifyMacKey == 3) or DiversifyEncKey | |||
Length of DivData | Integer (8 bits) |
Length of DivData in bytes |
|
DivData | Raw data | Key diversification according to NXP AN10922. | |
Optional field, condition: UseExtVcSelectKeys | |||
Length of EncKey | Integer (8 bits) |
Length of EncKey in bytes |
|
EncKey | Raw data | VC encryption key | |
Length of MacKey | Integer (8 bits) |
Length of MacKey in bytes |
|
MacKey | Raw data | VC MAC key |
Returned values (response frame)
Name | Type/Size | Description |
---|---|---|
FciType | Integer (8 bits) | 0: raw data 1: uid_len(1) and card type(1) 2: uid_len(1), card type(1) and memory size(1) |
Length of Fci | Integer (8 bits) |
Length of Fci in bytes |
Fci | Raw data | File control information |