uFCoder 2.58
Loading...
Searching...
No Matches
Mifare Plus specific commands

Functions

UFR_STATUS DL_API MFP_WritePersoM (UFR_HANDLE hndUFR, uint16_t address, IN uint8_t *data)
 
UFR_STATUS DL_API MFP_CommitPersoM (UFR_HANDLE hndUFR)
 
UFR_STATUS DL_API MFP_PersonalizationMinimalM (UFR_HANDLE hndUFR, IN uint8_t *card_master_key, IN uint8_t *card_config_key, IN uint8_t *level_2_switch_key, IN uint8_t *level_3_switch_key, IN uint8_t *level_1_auth_key, IN uint8_t *select_vc_key, IN uint8_t *prox_chk_key, IN uint8_t *vc_poll_enc_key, IN uint8_t *vc_poll_mac_key)
 
UFR_STATUS DL_API MFP_SwitchToSecurityLevel3M (UFR_HANDLE hndUFR, uint8_t key_index)
 
UFR_STATUS DL_API MFP_SwitchToSecurityLevel3_PKM (UFR_HANDLE hndUFR, IN uint8_t *aes_key)
 
UFR_STATUS DL_API MFP_AesAuthSecurityLevel1M (UFR_HANDLE hndUFR, uint8_t key_index)
 
UFR_STATUS DL_API MFP_AesAuthSecurityLevel1_PKM (UFR_HANDLE hndUFR, IN uint8_t *aes_key)
 
UFR_STATUS DL_API MFP_ChangeMasterKeyM (UFR_HANDLE hndUFR, uint8_t key_index, IN uint8_t *new_key)
 
UFR_STATUS DL_API MFP_ChangeMasterKeySamKeyM (UFR_HANDLE hndUFR, uint8_t key_index, uint8_t new_key_index)
 
UFR_STATUS DL_API MFP_ChangeMasterKey_PKM (UFR_HANDLE hndUFR, IN uint8_t *old_key, IN uint8_t *new_key)
 
UFR_STATUS DL_API MFP_ChangeConfigurationKeyM (UFR_HANDLE hndUFR, uint8_t key_index, IN uint8_t *new_key)
 
UFR_STATUS DL_API MFP_ChangeConfigurationKeySamKeyM (UFR_HANDLE hndUFR, uint8_t key_index, uint8_t new_key_index)
 
UFR_STATUS DL_API MFP_ChangeConfigurationKey_PKM (UFR_HANDLE hndUFR, IN uint8_t *old_key, IN uint8_t *new_key)
 
UFR_STATUS DL_API MFP_FieldConfigurationSetM (UFR_HANDLE hndUFR, uint8_t configuration_key_index, uint8_t rid_use, uint8_t prox_check_use)
 
UFR_STATUS DL_API MFP_FieldConfigurationSetSamKeyM (UFR_HANDLE hndUFR, uint8_t configuration_key_index, uint8_t rid_use, uint8_t prox_check_use)
 
UFR_STATUS DL_API MFP_FieldConfigurationSet_PKM (UFR_HANDLE hndUFR, IN uint8_t *configuration_key, uint8_t rid_use, uint8_t prox_check_use)
 
UFR_STATUS DL_API MFP_ChangeSectorKeyM (UFR_HANDLE hndUFR, uint8_t sector_nr, uint8_t auth_mode, uint8_t key_index, IN uint8_t *new_key)
 
UFR_STATUS DL_API MFP_ChangeSectorKeySamKeyM (UFR_HANDLE hndUFR, uint8_t sector_nr, uint8_t auth_mode, uint8_t key_index, uint8_t new_key_index)
 
UFR_STATUS DL_API MFP_ChangeSectorKey_PKM (UFR_HANDLE hndUFR, uint8_t sector_nr, uint8_t auth_mode, IN uint8_t *old_key, IN uint8_t *new_key)
 
UFR_STATUS DL_API MFP_GetUidM (UFR_HANDLE hndUFR, uint8_t key_index_vc_poll_enc_key, uint8_t key_index_vc_poll_mac_key, OUT uint8_t *uid, VAR uint8_t *uid_len)
 
UFR_STATUS DL_API MFP_GetUidSamKeyM (UFR_HANDLE hndUFR, uint8_t key_index_vc_poll_enc_key, uint8_t key_index_vc_poll_mac_key, OUT uint8_t *uid, VAR uint8_t *uid_len)
 
UFR_STATUS DL_API MFP_ChangeVcPollingEncKeyM (UFR_HANDLE hndUFR, uint8_t configuration_key_index, IN uint8_t *new_key)
 
UFR_STATUS DL_API MFP_ChangeVcPollingEncKeySamKeyM (UFR_HANDLE hndUFR, uint8_t configuration_key_index, uint8_t new_key_index)
 
UFR_STATUS DL_API MFP_ChangeVcPollingMacKeyM (UFR_HANDLE hndUFR, uint8_t configuration_key_index, IN uint8_t *new_key)
 
UFR_STATUS DL_API MFP_ChangeVcPollingMacKeySamKeyM (UFR_HANDLE hndUFR, uint8_t configuration_key_index, uint8_t new_key_index)
 
UFR_STATUS DL_API MFP_ChangeVcPollingMacKey_PKM (UFR_HANDLE hndUFR, IN uint8_t *configuration_key, IN uint8_t *new_key)
 

Detailed Description

/**

Function Documentation

◆ MFP_WritePersoM()

UFR_STATUS DL_API MFP_WritePersoM ( UFR_HANDLE hndUFR,
uint16_t address,
IN uint8_t * data )

Multi reader support. Security level 0 command. Function is used to change the data and AES keys from the initial delivery configuration to a customer specific value.

Parameters
hndUFRhandle of the uFR device
addressNumber of block or key
dataValue of data or AES key
Returns
Operation status

◆ MFP_CommitPersoM()

UFR_STATUS DL_API MFP_CommitPersoM ( UFR_HANDLE hndUFR)

Multi reader support. Security level 0 command. Function is used to finalize the personalization and switch up to security level 1.

Parameters
hndUFRhandle of the uFR device
Returns
Operation status

◆ MFP_PersonalizationMinimalM()

UFR_STATUS DL_API MFP_PersonalizationMinimalM ( UFR_HANDLE hndUFR,
IN uint8_t * card_master_key,
IN uint8_t * card_config_key,
IN uint8_t * level_2_switch_key,
IN uint8_t * level_3_switch_key,
IN uint8_t * level_1_auth_key,
IN uint8_t * select_vc_key,
IN uint8_t * prox_chk_key,
IN uint8_t * vc_poll_enc_key,
IN uint8_t * vc_poll_mac_key )

Multi reader support. Security level 0 command. Function is used for card personalization. The minimum number of AES keys is entered into the card. There are card master key, card configuration key, key for switch to security level 2, key for switch to security level 3, security level 1 authentication key, virtual card select key, proximity check key, VC polling ENC and VC poling MAC key. Keys can not be changed at security level 1. Other keys that are not personalized will have value 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF (16 x 0xFF)

Parameters
hndUFRhandle of the uFR device
card_master_keypointer to 16 byte array containing the card master key
card_config_keypointer to 16 byte array containing the card configuration key
level_2_switch_keypointer to 16 byte array containing the key for switch to security level 2
level_3_switch_keypointer to 16 byte array containing the key for switch to security level 3
level_1_auth_keypointer to 16 byte array containing the key for optional authentication at security level 1
select_vc_keypointer to 16 byte array containing the key for virtual card selection
prox_chk_keypointer to 16 byte array containing the key for proximity check
vc_poll_enc_keypointer to 16 byte array containing the ENC key for virtual card polling
vc_poll_mac_keypointer to 16 byte array containing the MAC key for virtual card polling
Returns
Operation status

◆ MFP_SwitchToSecurityLevel3M()

UFR_STATUS DL_API MFP_SwitchToSecurityLevel3M ( UFR_HANDLE hndUFR,
uint8_t key_index )

Multi reader support. Security level 1 or 2 command. Function is used to switch to security level 3.

Parameters
hndUFRhandle of the uFR device
key_indexordinary number of AES key stored into reader (0 - 15)
Returns
Operation status

◆ MFP_SwitchToSecurityLevel3_PKM()

UFR_STATUS DL_API MFP_SwitchToSecurityLevel3_PKM ( UFR_HANDLE hndUFR,
IN uint8_t * aes_key )

Multi reader support. Provided Key mode (PK) Security level 1 or 2 command. Function is used to switch to security level 3.

Parameters
hndUFRhandle of the uFR device
aes_keypointer to 16 byte array containing the AES key
Returns
Operation status

◆ MFP_AesAuthSecurityLevel1M()

UFR_STATUS DL_API MFP_AesAuthSecurityLevel1M ( UFR_HANDLE hndUFR,
uint8_t key_index )

Multi reader support. Security level 1 command. Security level 1 offers the same functionality as a MIFARE Classic card. Function is used to optional AES authentication.

Parameters
hndUFRhandle of the uFR device
key_indexordinary number of AES key stored into reader (0 - 15)
Returns
Operation status

◆ MFP_AesAuthSecurityLevel1_PKM()

UFR_STATUS DL_API MFP_AesAuthSecurityLevel1_PKM ( UFR_HANDLE hndUFR,
IN uint8_t * aes_key )

Multi reader support. Provided Key mode (PK) Security level 1 command. Security level 1 offers the same functionality as a MIFARE Classic card. Function is used to optional AES authentication.

Parameters
hndUFRhandle of the uFR device
aes_keypointer to 16 byte array containing the AES key
Returns
Operation status

◆ MFP_ChangeMasterKeyM()

UFR_STATUS DL_API MFP_ChangeMasterKeyM ( UFR_HANDLE hndUFR,
uint8_t key_index,
IN uint8_t * new_key )

Multi reader support. Security level 3 command. The function is used to change the AES card master key value.

Parameters
hndUFRhandle of the uFR device
key_indexordinary number of current configuration key stored into reader (0 - 15) or in SAM (1 - 127)
new_keypointer to 16 byte array containing the new master key
Returns
Operation status

◆ MFP_ChangeMasterKeySamKeyM()

UFR_STATUS DL_API MFP_ChangeMasterKeySamKeyM ( UFR_HANDLE hndUFR,
uint8_t key_index,
uint8_t new_key_index )

Multi reader support. *only uFR CS with SAM support Security level 3 command. The function is used to change the AES card master key value.

Parameters
hndUFRhandle of the uFR device
key_indexordinary number of current configuration key stored into reader (0 - 15) or in SAM (1 - 127)
new_key_indexordinary number of current configuration key stored into reader that will become new key
Returns
Operation status

◆ MFP_ChangeMasterKey_PKM()

UFR_STATUS DL_API MFP_ChangeMasterKey_PKM ( UFR_HANDLE hndUFR,
IN uint8_t * old_key,
IN uint8_t * new_key )

Multi reader support. Provided Key mode (PK) Security level 3 command. The function is used to change the AES card master key value.

Parameters
hndUFRhandle of the uFR device
old_keypointer to 16 byte array containing the current master key
new_keypointer to 16 byte array containing the new master key
Returns
Operation status

◆ MFP_ChangeConfigurationKeyM()

UFR_STATUS DL_API MFP_ChangeConfigurationKeyM ( UFR_HANDLE hndUFR,
uint8_t key_index,
IN uint8_t * new_key )

Multi reader support. Security level 3 command. The function is used to change the AES card configuration key value.

Parameters
hndUFRhandle of the uFR device
key_indexordinary number of current configuration key stored into reader (0 - 15) or in SAM (1 - 127)
new_keypointer to 16 byte array containing the new configuration key
Returns
Operation status

◆ MFP_ChangeConfigurationKeySamKeyM()

UFR_STATUS DL_API MFP_ChangeConfigurationKeySamKeyM ( UFR_HANDLE hndUFR,
uint8_t key_index,
uint8_t new_key_index )

Multi reader support. *only uFR CS with SAM support Security level 3 command. The function is used to change the AES card configuration key value.

Parameters
hndUFRhandle of the uFR device
key_indexordinary number of current configuration key stored into reader (0 - 15) or in SAM (1 - 127)
new_key_indexordinary number of current configuration key stored into reader that will become new key
Returns
Operation status

◆ MFP_ChangeConfigurationKey_PKM()

UFR_STATUS DL_API MFP_ChangeConfigurationKey_PKM ( UFR_HANDLE hndUFR,
IN uint8_t * old_key,
IN uint8_t * new_key )

Multi reader support. Provided Key mode (PK) Security level 3 command. The function is used to change the AES card configuration key value.

Parameters
hndUFRhandle of the uFR device
old_keypointer to 16 byte array containing the current configuration key
new_keypointer to 16 byte array containing the new configuration key
Returns
Operation status

◆ MFP_FieldConfigurationSetM()

UFR_STATUS DL_API MFP_FieldConfigurationSetM ( UFR_HANDLE hndUFR,
uint8_t configuration_key_index,
uint8_t rid_use,
uint8_t prox_check_use )

Multi reader support. Security level 3 command. Function is used for definition of using Random ID and Proximity check options. Authentication with AES card configuration key required.

Parameters
hndUFRhandle of the uFR device
configuration_key_indexordinary number of configuration key stored into reader (0 - 15)
rid_use1 - Randnom ID enabled, 0 - Random ID disabled
prox_check_use1- Proximity check is mandatory, 0 - Proximity check is not mandatory
Returns
Operation status

◆ MFP_FieldConfigurationSetSamKeyM()

UFR_STATUS DL_API MFP_FieldConfigurationSetSamKeyM ( UFR_HANDLE hndUFR,
uint8_t configuration_key_index,
uint8_t rid_use,
uint8_t prox_check_use )

Multi reader support. *only uFR CS with SAM support Security level 3 command. Function is used for definition of using Random ID and Proximity check options. Authentication with AES card configuration key required.

Parameters
hndUFRhandle of the uFR device
configuration_key_indexordinary number of configuration key stored into reader (0 - 15)
rid_use1 - Randnom ID enabled, 0 - Random ID disabled
prox_check_use1- Proximity check is mandatory, 0 - Proximity check is not mandatory
Returns
Operation status

◆ MFP_FieldConfigurationSet_PKM()

UFR_STATUS DL_API MFP_FieldConfigurationSet_PKM ( UFR_HANDLE hndUFR,
IN uint8_t * configuration_key,
uint8_t rid_use,
uint8_t prox_check_use )

Multi reader support. Provided Key mode (PK) Security level 3 command. Function is used for definition of using Random ID and Proximity check options. Authentication with AES card configuration key required.

Parameters
hndUFRhandle of the uFR device
configuration_keypointer to 16 byte array containing the configuration key
rid_use1 - Randnom ID enabled, 0 - Random ID disabled
prox_check_use1- Proximity check is mandatory, 0 - Proximity check is not mandatory
Returns
Operation status

◆ MFP_ChangeSectorKeyM()

UFR_STATUS DL_API MFP_ChangeSectorKeyM ( UFR_HANDLE hndUFR,
uint8_t sector_nr,
uint8_t auth_mode,
uint8_t key_index,
IN uint8_t * new_key )

Multi reader support. Security level 3 command. In order to access the block in sector data, AES authentication is needed. Each sector has two AES keys that can be used for authentication (Key A and Key B). Default value if key is not personalized is 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF (16 x 0xFF). For linear read part of card, enter the same value of sector keys for all sectors which will be read at once.

Parameters
hndUFRhandle of the uFR device
sector_nrordinary number of sector (0 - 31) for 2K card, or (0 - 39) for 4K card.
auth_modeMIFARE_AUTHENT1A for Key A or MIFARE_AUTHENT1B for Kye B
key_indexordinary number of current sector key stored into reader (0 - 15)
new_keypointer to 16 byte array containing the new sector key (A or B)
Returns
Operation status

◆ MFP_ChangeSectorKeySamKeyM()

UFR_STATUS DL_API MFP_ChangeSectorKeySamKeyM ( UFR_HANDLE hndUFR,
uint8_t sector_nr,
uint8_t auth_mode,
uint8_t key_index,
uint8_t new_key_index )

Multi reader support. *only uFR CS with SAM support Security level 3 command. In order to access the block in sector data, AES authentication is needed. Each sector has two AES keys that can be used for authentication (Key A and Key B). Default value if key is not personalized is 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF (16 x 0xFF). For linear read part of card, enter the same value of sector keys for all sectors which will be read at once.

Parameters
hndUFRhandle of the uFR device
sector_nrordinary number of sector (0 - 31) for 2K card, or (0 - 39) for 4K card.
auth_modeMIFARE_AUTHENT1A for Key A or MIFARE_AUTHENT1B for Kye B
key_indexordinary number of current sector key stored into reader (0 - 15)
new_key_indexordinary number of current configuration key stored into reader that will become new key
Returns
Operation status

◆ MFP_ChangeSectorKey_PKM()

UFR_STATUS DL_API MFP_ChangeSectorKey_PKM ( UFR_HANDLE hndUFR,
uint8_t sector_nr,
uint8_t auth_mode,
IN uint8_t * old_key,
IN uint8_t * new_key )

Multi reader support. Provided Key mode (PK) Security level 3 command. In order to access the block in sector data, AES authentication is needed. Each sector has two AES keys that can be used for authentication (Key A and Key B). Default value if key is not personalized is 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF (16 x 0xFF). For linear read part of card, enter the same value of sector keys for all sectors which will be read at once.

Parameters
hndUFRhandle of the uFR device
sector_nrordinary number of sector (0 - 31) for 2K card, or (0 - 39) for 4K card.
auth_modeMIFARE_AUTHENT1A for Key A or MIFARE_AUTHENT1B for Kye B
old_keypointer to 16 byte array containing the current sector key (A or B)
new_keypointer to 16 byte array containing the new sector key (A or B)
Returns
Operation status

◆ MFP_GetUidM()

UFR_STATUS DL_API MFP_GetUidM ( UFR_HANDLE hndUFR,
uint8_t key_index_vc_poll_enc_key,
uint8_t key_index_vc_poll_mac_key,
OUT uint8_t * uid,
VAR uint8_t * uid_len )

Multi reader support. Security level 3 command. Function is used to read UID if Random ID is enabled. Authentication with AES VC Polling ENC Key and VC Polling MAC Key is mandatory.

Parameters
hndUFRhandle of the uFR device
key_index_vc_poll_enc_keypointer to 16 byte array containing VC polling ENC key
key_index_vc_poll_mac_keypointer to 16 byte array containing VC polling MAC key
uidpointer to byte array containing the card UID
uid_lenpointer to UID length variable
Returns
Operation status

◆ MFP_GetUidSamKeyM()

UFR_STATUS DL_API MFP_GetUidSamKeyM ( UFR_HANDLE hndUFR,
uint8_t key_index_vc_poll_enc_key,
uint8_t key_index_vc_poll_mac_key,
OUT uint8_t * uid,
VAR uint8_t * uid_len )

Multi reader support. *only uFR CS with SAM support Security level 3 command. Function is used to read UID if Random ID is enabled. Authentication with AES VC Polling ENC Key and VC Polling MAC Key is mandatory.

Parameters
hndUFRhandle of the uFR device
key_index_vc_poll_enc_keypointer to 16 byte array containing VC polling ENC key
key_index_vc_poll_mac_keypointer to 16 byte array containing VC polling MAC key
uidpointer to byte array containing the card UID
uid_lenpointer to UID length variable
Returns
Operation status

◆ MFP_ChangeVcPollingEncKeyM()

UFR_STATUS DL_API MFP_ChangeVcPollingEncKeyM ( UFR_HANDLE hndUFR,
uint8_t configuration_key_index,
IN uint8_t * new_key )

Multi reader support. Security level 3 command. The function is used to change the AES VC polling ENC key value. Authentication with AES card configuration key is required.

Parameters
hndUFRhandle of the uFR device
configuration_key_indexordinary number of card configuration key stored into reader (0 - 15)
new_keypointer to 16 byte array containing new VC Polling ENC key
Returns
Operation status

◆ MFP_ChangeVcPollingEncKeySamKeyM()

UFR_STATUS DL_API MFP_ChangeVcPollingEncKeySamKeyM ( UFR_HANDLE hndUFR,
uint8_t configuration_key_index,
uint8_t new_key_index )

Multi reader support. *only uFR CS with SAM support Security level 3 command. The function is used to change the AES VC polling ENC key value. Authentication with AES card configuration key is required.

Parameters
hndUFRhandle of the uFR device
configuration_key_indexordinary number of card configuration key stored into reader (0 - 15)
new_key_indexordinary number of card configuration key stored into reader that will become new key
Returns
Operation status

◆ MFP_ChangeVcPollingMacKeyM()

UFR_STATUS DL_API MFP_ChangeVcPollingMacKeyM ( UFR_HANDLE hndUFR,
uint8_t configuration_key_index,
IN uint8_t * new_key )

Multi reader support. Security level 3 command. The function is used to change the AES VC polling MAC key value. Authentication with AES card configuration key is required.

Parameters
hndUFRhandle of the uFR device
configuration_key_indexordinary number of card configuration key stored into reader (0 - 15)
new_keypointer to 16 byte array containing new VC Polling MAC key
Returns
Operation status

◆ MFP_ChangeVcPollingMacKeySamKeyM()

UFR_STATUS DL_API MFP_ChangeVcPollingMacKeySamKeyM ( UFR_HANDLE hndUFR,
uint8_t configuration_key_index,
uint8_t new_key_index )

Multi reader support. *only uFR CS with SAM support Security level 3 command. The function is used to change the AES VC polling MAC key value. Authentication with AES card configuration key is required.

Parameters
hndUFRhandle of the uFR device
configuration_key_indexordinary number of card configuration key stored into reader (0 - 15)
new_key_indexordinary number of card configuration key stored into reader that will become new key
Returns
Operation status

◆ MFP_ChangeVcPollingMacKey_PKM()

UFR_STATUS DL_API MFP_ChangeVcPollingMacKey_PKM ( UFR_HANDLE hndUFR,
IN uint8_t * configuration_key,
IN uint8_t * new_key )

Multi reader support. Provided Key mode (PK) Security level 3 command. The function is used to change the AES VC polling MAC key value. Authentication with AES card configuration key is required.

Parameters
hndUFRhandle of the uFR device
configuration_keypointer to 16 byte array containing card configuration key
new_keypointer to 16 byte array containing new VC Polling MAC key
Returns
Operation status