NXP Reader Library  v17.1.0.2535

These Components implement the MIFARE Plus EVx additional feature commands. More...

Collaboration diagram for Commands_Special:

Functions

phStatus_t phalMfpEVx_GetVersion (void *pDataParams, uint8_t *pVerInfo)
 Returns manufacturing related data of the PICC. More...
 
phStatus_t phalMfpEVx_ReadSign (void *pDataParams, uint8_t bLayer4Comm, uint8_t bAddr, uint8_t **pSignature)
 Read originality Signature from the PICC. More...
 
phStatus_t phalMfpEVx_ResetAuth (void *pDataParams)
 Performs a Reset Authentication command. More...
 
phStatus_t phalMfpEVx_PersonalizeUid (void *pDataParams, uint8_t bUidType)
 Perform MIFARE(R) Personalize UID usage command sequence with MIFARE Picc. More...
 
phStatus_t phalMfpEVx_SetConfigSL1 (void *pDataParams, uint8_t bOption)
 Performs a configuration for ISO1443-4 enabling in Security Level 1. More...
 
phStatus_t phalMfpEVx_ReadSL1TMBlock (void *pDataParams, uint16_t wBlockNr, uint8_t *pBlocks)
 Performs read of the TMAC block in security layer 1 with ISO14443 Layer 3 activated. More...
 
phStatus_t phalMfpEVx_VCSupportLastISOL3 (void *pDataParams, uint8_t *pIid, uint8_t *pPcdCapL3, uint8_t *pInfo)
 Performs a VCSupportLastISOL3 command operation. More...
 
phStatus_t phalMfpEVx_ChangeKey (void *pDataParams, uint8_t bChangeKeyMaced, uint16_t wBlockNr, uint16_t wKeyNumber, uint16_t wKeyVersion, uint8_t bLenDivInput, uint8_t *pDivInput)
 Performs a Key Change of a MIFARE Plus key. More...
 
phStatus_t phalMfpEVx_CommitReaderID (void *pDataParams, uint16_t wBlockNr, uint8_t *pTMRI, uint8_t *pEncTMRI)
 Secures the transaction by commiting the application to ReaderID specified. More...
 

Options to personalize the UID.

#define PHAL_MFPEVX_UID_TYPE_UIDF0   0x00U
 MIFARE(R) Plus EVx UID type UIDF0.
 
#define PHAL_MFPEVX_UID_TYPE_UIDF1   0x40U
 MIFARE(R) Plus EVx UID type UIDF1.
 
#define PHAL_MFPEVX_UID_TYPE_UIDF2   0x20U
 MIFARE(R) Plus EVx UID type UIDF2.
 
#define PHAL_MFPEVX_UID_TYPE_UIDF3   0x60U
 MIFARE(R) Plus EVx UID type UIDF3.
 

Options to Enable / Disable ISO14443 Layer 4 protocol.

#define PHAL_MFPEVX_ENABLE_ISO14443_L4   0x00U
 Option to enable ISO14443 Layer 4 protocol.
 
#define PHAL_MFPEVX_DISABLE_ISO14443_L4   0x01U
 Option to disable ISO14443 Layer 4 protocol.
 

Detailed Description

These Components implement the MIFARE Plus EVx additional feature commands.

Function Documentation

◆ phalMfpEVx_GetVersion()

phStatus_t phalMfpEVx_GetVersion ( void *  pDataParams,
uint8_t pVerInfo 
)

Returns manufacturing related data of the PICC.

Returns
Status code
Return values
PH_ERR_SUCCESSOperation successful.
OtherDepending on implementation and underlaying component.
Parameters
[in]pDataParams[In] Pointer to this layer's parameter structure.
[out]pVerInfo[Out] The version information of the PICC.
If UID is 4 bytes, the buffer will have 27 bytes of version information.
If UID is 7 bytes, the buffer will have 28 bytes of version information.
If UID is 10 bytes, the buffer will have 33 bytes of version information.

◆ phalMfpEVx_ReadSign()

phStatus_t phalMfpEVx_ReadSign ( void *  pDataParams,
uint8_t  bLayer4Comm,
uint8_t  bAddr,
uint8_t **  pSignature 
)

Read originality Signature from the PICC.

Returns
Status code
Return values
PH_ERR_SUCCESSOperation successful.
OtherDepending on implementation and underlaying component.
Parameters
[in]pDataParams[In] Pointer to this layer's parameter structure.
[in]bLayer4Comm[In] ISO14443 protocol to be used.
[in]bAddr[In] Targeted ECC originality check signature.
[out]pSignature[Out] PICC's orginality signature. The buffer will have 56 bytes of signature information.

◆ phalMfpEVx_ResetAuth()

phStatus_t phalMfpEVx_ResetAuth ( void *  pDataParams)

Performs a Reset Authentication command.

Returns
Status code
Return values
PH_ERR_SUCCESSOperation successful.
OtherDepending on implementation and underlaying component.
Parameters
[in]pDataParams[In] Pointer to this layer's parameter structure.

◆ phalMfpEVx_PersonalizeUid()

phStatus_t phalMfpEVx_PersonalizeUid ( void *  pDataParams,
uint8_t  bUidType 
)

Perform MIFARE(R) Personalize UID usage command sequence with MIFARE Picc.

Returns
Status code
Return values
PH_ERR_SUCCESSOperation successful.
OtherDepending on implementation and underlaying component.
Parameters
[in]pDataParams[In] Pointer to this layer's parameter structure.
[in]bUidType[In] UID type to be used for personalization.

◆ phalMfpEVx_SetConfigSL1()

phStatus_t phalMfpEVx_SetConfigSL1 ( void *  pDataParams,
uint8_t  bOption 
)

Performs a configuration for ISO1443-4 enabling in Security Level 1.

Returns
Status code
Return values
PH_ERR_SUCCESSOperation successful.
OtherDepending on implementation and underlaying component.
Parameters
[in]pDataParams[In] Pointer to this layer's parameter structure.
[in]bOption[In] Option byte encoding the configuration to be set.

◆ phalMfpEVx_ReadSL1TMBlock()

phStatus_t phalMfpEVx_ReadSL1TMBlock ( void *  pDataParams,
uint16_t  wBlockNr,
uint8_t pBlocks 
)

Performs read of the TMAC block in security layer 1 with ISO14443 Layer 3 activated.

Returns
Status code
Return values
PH_ERR_SUCCESSOperation successful.
OtherDepending on implementation and underlaying component.
Parameters
[in]pDataParams[In] Pointer to this layer's parameter structure.
[in]wBlockNr[In] PICC TM block number from which the data should be read.
[out]pBlocks[Out] The data read from the specified block number. The buffer will contain 16 bytes information.

◆ phalMfpEVx_VCSupportLastISOL3()

phStatus_t phalMfpEVx_VCSupportLastISOL3 ( void *  pDataParams,
uint8_t pIid,
uint8_t pPcdCapL3,
uint8_t pInfo 
)

Performs a VCSupportLastISOL3 command operation.

This command is a special variant of virtual card operation. This command can be sent after a ISO14443-3 activation.

Returns
Status code
Return values
PH_ERR_SUCCESSOperation successful.
OtherDepending on implementation and underlaying component.
Parameters
[in]pDataParams[In] Pointer to this layer's parameter structure.
[in]pIid[In] The (last) IID that the PCD presents to the PD. The buffer should have 16 bytes of information.
[in]pPcdCapL3[In] Capability vector of the PCD. The buffer should have 4 bytes of information.
[out]pInfo[Out] One byte Information returned by PICC.

◆ phalMfpEVx_ChangeKey()

phStatus_t phalMfpEVx_ChangeKey ( void *  pDataParams,
uint8_t  bChangeKeyMaced,
uint16_t  wBlockNr,
uint16_t  wKeyNumber,
uint16_t  wKeyVersion,
uint8_t  bLenDivInput,
uint8_t pDivInput 
)

Performs a Key Change of a MIFARE Plus key.

Same as phalMfpEVx_Write, but diversification input can be provided.

Returns
Status code
Return values
PH_ERR_SUCCESSOperation successful.
OtherDepending on implementation and underlaying component.
Parameters
[in]pDataParams[In] Pointer to this layer's parameter structure.
[in]bChangeKeyMaced[In] Indicate whether the response should be maced. Based on this flag the command code will be updated.
[in]wBlockNr[In] PICC block number to which the key should be changed.
[in]wKeyNumber[In] Key number to be used from software or hardware KeyStore.
[in]wKeyVersion[In] Key version to be used from software or hardware KeyStore.
[in]bLenDivInput[In] Length of diversification input used to diversify the key. If 0, no diversification is performed.
[in]pDivInput[In] Diversification Input used to diversify the key.

◆ phalMfpEVx_CommitReaderID()

phStatus_t phalMfpEVx_CommitReaderID ( void *  pDataParams,
uint16_t  wBlockNr,
uint8_t pTMRI,
uint8_t pEncTMRI 
)

Secures the transaction by commiting the application to ReaderID specified.

The encrypted Transaction MAC Reader Id of the previous transaction is used by the backend that will decrypt this and check if the transaction was reported to be backend or not. This command is always sent with MAC protection.

Returns
Status code
Return values
PH_ERR_SUCCESSOperation successful.
OtherDepending on implementation and underlaying component.
Parameters
[in]pDataParams[In] Pointer to this layer's parameter structure.
[in]wBlockNr[In] PICC's TM protected block number.
[in]pTMRI[In] The reader ID information to be commited. The buffer should have have 16 bytes of ID information.
[out]pEncTMRI[Out] Encrypted Reader ID of the previous transaction. Buffer will contain 16 bytes of information.