NXP Reader Library  v17.1.0.2535

These Components implement the Virtual Card Architecture (R) commands. More...

Collaboration diagram for Utility:

Functions

phStatus_t phalVca_SetConfig (void *pDataParams, uint16_t wConfig, uint16_t wValue)
 Perform a SetConfig command where a particular configuration item vis. More...
 
phStatus_t phalVca_GetConfig (void *pDataParams, uint16_t wConfig, uint16_t *pValue)
 Perform a GetConfig command where a particular configuration item vis. More...
 
phStatus_t phalVca_SetSessionKeyUtility (void *pDataParams, uint8_t *pSessionKey, uint8_t bAuthMode)
 This is a utility API which passes card type specific session key to VCA. More...
 
phStatus_t phalVca_SetApplicationType (void *pDataParams, void *pAlDataParams)
 This is a utility API which sets the application type(Desfire Ev2, MFP Ev1 etc) in the VCA structure. More...
 
phStatus_t phalVca_DecryptResponse (void *pDataParams, uint16_t wKeyNo, uint16_t wKeyVersion, uint8_t *pInData, uint8_t *pRandChal, uint8_t *pVCData)
 This is a utility API which decrypts the response data(32 bytes) of IsoSelect to get the RndChal and VCData(INFO||PDCap1||VCUID||ZeroPadding) More...
 

Option to configure some special operations

#define PHAL_VCA_ADDITIONAL_INFO   0x0001
 Option for GetConfig / SetConfig to get / set additional info of a generic error.
 
#define PHAL_VCA_WRAPPED_MODE   0x0002
 Option for GetConfig / SetConfig to get / set Wrapped mode.
 
#define PHAL_VCA_TIMING_MODE   0x0003
 Option for GetConfig / SetConfig to get / set Timing measurements ON/OFF.
 
#define PHAL_VCA_PC_LOWER_THRESHOLD   0x0004
 Option for GetConfig / SetConfig to Enable / Diable lower boundary(-20%) on threshold time.
 
#define PHAL_VCA_PC_EXTENDED_APDU   0x0005
 Option for GetConfig / SetConfig to get / set current status of extended wrapping in ISO 7816-4 APDUs.
 

Detailed Description

These Components implement the Virtual Card Architecture (R) commands.

Function Documentation

◆ phalVca_SetConfig()

phStatus_t phalVca_SetConfig ( void *  pDataParams,
uint16_t  wConfig,
uint16_t  wValue 
)

Perform a SetConfig command where a particular configuration item vis.

Error code can be set in VC structure.

Returns
Status code
Return values
PH_ERR_SUCCESSOperation successful.
Parameters
[in]pDataParams[In] Pointer to this layer's parameter structure.
[in]wConfig[In] wConfig can be one of the following.
[in]wValue[In] Value for the mentioned configuration.

◆ phalVca_GetConfig()

phStatus_t phalVca_GetConfig ( void *  pDataParams,
uint16_t  wConfig,
uint16_t pValue 
)

Perform a GetConfig command where a particular configuration item vis.

Error code can be retreived from VC structure.

Returns
Status code
Return values
PH_ERR_SUCCESSOperation successful.
Parameters
[in]pDataParams[In] Pointer to this layer's parameter structure.
[in]wConfig[In] wConfig can be one of the following.
[out]pValue[Out] Value for the mentioned configuration.

◆ phalVca_SetSessionKeyUtility()

phStatus_t phalVca_SetSessionKeyUtility ( void *  pDataParams,
uint8_t pSessionKey,
uint8_t  bAuthMode 
)

This is a utility API which passes card type specific session key to VCA.

Returns
Status code
Return values
PH_ERR_SUCCESSOperation successful.
OtherDepending on implementation and underlying component.
Parameters
[in]pDataParams[In] Pointer to this layer's parameter structure.
[in]pSessionKey[In] 16 bytes Session Key
[in]bAuthMode[In] Current Authentication Mode (Card type specific)

◆ phalVca_SetApplicationType()

phStatus_t phalVca_SetApplicationType ( void *  pDataParams,
void *  pAlDataParams 
)

This is a utility API which sets the application type(Desfire Ev2, MFP Ev1 etc) in the VCA structure.

Returns
Status code
Return values
PH_ERR_SUCCESSOperation successful.
OtherDepending on implementation and underlying component.

◆ phalVca_DecryptResponse()

phStatus_t phalVca_DecryptResponse ( void *  pDataParams,
uint16_t  wKeyNo,
uint16_t  wKeyVersion,
uint8_t pInData,
uint8_t pRandChal,
uint8_t pVCData 
)

This is a utility API which decrypts the response data(32 bytes) of IsoSelect to get the RndChal and VCData(INFO||PDCap1||VCUID||ZeroPadding)

Returns
Status code
Return values
PH_ERR_SUCCESSOperation successful.
OtherDepending on implementation and underlying component.
Parameters
[in]pDataParams[In] Pointer to this layer's parameter structure.
[in]wKeyNo[In] Key number of the VCSelect ENC key.
[in]wKeyVersion[In] Key version of the VCSelect ENC key.
[in]pInData[In] Input data to be decrypted.
[out]pRandChal[Out] Random Challenge.
[out]pVCData[Out] Decrypted VC Data.