Across multiple versions of the NXP Reader Library up through the recent NFC Reader Library v07.05.00, it appears that only AES Auth is supported, yet calling LRP will not fail parameter validation.
In function phalMfNtag42XDna_Sw_Int_AuthenticateEv2, it notes:
* bAuthOption should be either one(PHAL_MFNTAG42XDNA_AUTHFIRST_NON_LRP) or zero(PHAL_MFNTAG42XDNA_AUTHNONFIRST_NON_LRP).
The only check is:
if (bAuthOption > PHAL_MFNTAG42XDNA_AUTHFIRST_LRP)
Yet there is no implementation for LRP specific authentication (more specifically, there is no handling of LRPFirst vs LRPNonFirst bAuthOption)
if (bAuthOption == PHAL_MFNTAG42XDNA_AUTHFIRST_NON_LRP)
{
bCmdBuff[wCmdLen++] = PHAL_MFNTAG42XDNA_CMD_AUTHENTICATE_EV2_FIRST;
}
else
{
bCmdBuff[wCmdLen++] = PHAL_MFNTAG42XDNA_CMD_AUTHENTICATE_EV2_NON_FIRST;
}
Suggest either:
1) Completing the LRP Authentication implementation or
2) Throwing an error until LRP Authentication is available
Thank you very much for your feedback. We will plan this for the next release cycle.
Greetings, Alex