Desfire.Authenticate
This command authenticates a card with the reader. All authentication modes of DESFire cards are supported. Subsequent commands, such as Desfire.ExecCommand, take the authentication mode into account when communicating with a card.
The key used for authentication is specified in the Device / CryptoKey key of the reader's configuration.
Properties
- Command code: 0x1B01
- Command timeout: 2000 ms
- Possible status codes: General status codes, Desfire.ErrIso14NoTag, Desfire.ErrBreak, Desfire.ErrIso14Hf, Desfire.ErrIso14CardInvalid, Desfire.ErrReaderChipCommunication, Desfire.ErrIso14ApduCmd, Desfire.ErrIso14InvalidResponse, Desfire.ErrPcdAuthentication, Desfire.ErrPcdKey, Desfire.ErrPcdParam, Desfire.ErrFirmwareNotSupported, Desfire.ErrSamCommunication, Desfire.ErrSamUnlock, Desfire.ErrHardwareNotSupported, Desfire.ErrLength, Desfire.ErrPermissionDenied, Desfire.ErrParameter, Desfire.ErrAuthentication, Desfire.ErrPiccIntegrity, Desfire.ErrCommandAborted, Desfire.ErrPiccDisabled, Desfire.ErrNoSuchKey, Desfire.ErrIllegalCmd, Desfire.ErrIllegalCmdLegacy
Parameters (request frame)
Name | Type/Size | Description | ||
---|---|---|---|---|
SecureMessaging | Enumeration (8 bits) |
Sets the secure messaging mode. Values:
|
||
DesKeynr | Integer (8 bits) | DESFire key number. | ||
KeyId | Integer (8 bits) | ID of authentication key in the reader's configuration (0x00-0xBF). | ||
- | Bit mask (8 bits) | - | ||
RFU | Integer (bit mask area 0xE0) |
Zero padding |
||
KeyHasDivData | Boolean (bit 0x10) | Specifies external diversification data ( KeyDivData parameter) if set. | ||
KeyDivMode | Enumeration (bit mask area 0x0E) |
Specifies diversification algorithm. Values:
|
||
KeyHasExtIdx | Boolean (bit 0x01) | Set this flag if extended crypto memory is used (using KeyExtIdx parameter). | ||
Optional field, condition: KeyHasDivData | ||||
Length of KeyDivData | Integer (8 bits) |
Length of KeyDivData in bytes |
||
KeyDivData | Raw data | Diversification data (8 byte for DES / 16 for AES key). | ||
Optional field, condition: KeyHasExtIdx | ||||
KeyExtIdx | Integer (8 bits) |
Crypto Memory Index (SAM or CryptoMemory) of authentication key
|
Returned values (response frame)
None