11.12.3.4.102. Function Se05x_API_MACFinal

11.12.3.4.102.1. Function Documentation

smStatus_t Se05x_API_MACFinal(pSe05xSession_t session_ctx, const uint8_t *inputData, size_t inputDataLen, SE05x_CryptoObjectID_t cryptoObjectID, const uint8_t *macValidateData, size_t macValidateDataLen, uint8_t *macValue, size_t *pmacValueLen)

Se05x_API_MACFinal

Command to Applet

Field

Value

Description

CLA

0x80

INS

INS_CRYPTO

SE05x_INS_t

P1

P1_MAC

See SE05x_P1_t

P2

P2_FINAL

See SE05x_P2_t

Payload

TLV[TAG_1]

Byte array containing data to be taken as input to MAC.

TLV[TAG_2]

2-byte Crypto Object identifier

TLV[TAG_3]

Byte array containing MAC to validate. [Conditional: only applicable the crypto object is set for validating (MACInit P2 = P2_VALIDATE)]

Le

0x00

Expecting MAC or result.

R-APDU Body

Value

Description

TLV[TAG_1]

MAC value (when MACInit had P2 = P2_GENERATE) or SE05x_Result_t (when MACInit had P2 = P2_VERIFY).

R-APDU Trailer

SW

Description

SW_NO_ERROR

The command is handled successfully.

Parameters
  • [in] session_ctx: Session Context [0:kSE05x_pSession]

  • [in] inputData: inputData [1:kSE05x_TAG_1]

  • [in] inputDataLen: Length of inputData

  • [in] cryptoObjectID: cryptoObjectID [2:kSE05x_TAG_2]

  • [in] macValidateData: macValidateData [3:kSE05x_TAG_3]

  • [in] macValidateDataLen: Length of macValidateData

  • [out] macValue: [0:kSE05x_TAG_1]

  • [inout] pmacValueLen: Length for macValue