SB n° 301: Update ParseAndStoreResponse
EMV® Specification Bulletin No. 301 First Edition March 2024 Update ParseAndStoreCardResponse This Specification Bulletin changes the ParseAndStoreCardResponse routine for the handling of proprietary tags.
Applicability
This Specification Bulletin applies to:
- EMV Contactless Specifications for Payment Systems, Book C-2, Kernel 2 Specification, Version 2.11 – June 2023.
Related Documents
- None
Effective Date
- 1 April, 2024
Description
This Specification Bulletin introduces an update for the ParseAndStoreCardResponse service. The service no longer returns FALSE when the update conditions of a data object returned from the card do not include the RA Signal In this case, the data object returned from the card will now be ignored.
countries.
Specification Changes Change in section 4.1.3 the ParseAndStoreCardResponse as follows: Boolean ParseAndStoreCardResponse(TLV String) TLV Encoding Error:= FALSE Parse TLV String according the Basic Encoding Rules in [ISO/IEC 8825-1]. and set TLV Encoding Error to TRUE iIf parsing error, then return FALSE. If TLV String is not a single constructed or primitive data object, then set TLV Encoding Error to TRUE return FALSE. IF [TLV Encoding Error] THEN Return FALSE ELSE FOR every primitive TLV in TLV String { IF [NOT (IsKnown(T) AND class of T is Private class3 AND NOT update conditions of T include RA Signal)] THEN IF [IsKnown(T)] THEN IF THEN [(IsNotPresent(T) OR IsEmpty(T)) AND update conditions of T include RA Signal AND L is within the range specified by Length field of the data object with tag T in the data dictionary in Annex A AND TLV is included in the correct template (if any) within TLV String4 ] Store LV in the TLV Database for tag T ELSE Return FALSE ENDIF ELSE 3 As defined in Annex B of [EMV Book 3], the tag is Private class if bits b7 and b8 of the first byte of the tag are both set to 1b. 4 Data objects must be included in the correct template as indicated in the data dictionary in Annex A. Data objects for which no template is indicated ("–") must not be returned in a template from the card.
countries.
IF [IsPresent(T)] THEN IF [IsEmpty(T) AND update conditions of T include RA Signal] THEN Store LV in the TLV Database for tag T ELSE Return FALSE ENDIF ENDIF ENDIF ENDIF } Return TRUE ENDIF
countries.
Without change indication this becomes: Boolean ParseAndStoreCardResponse(TLV String) Parse TLV String according the Basic Encoding Rules in [ISO/IEC 8825-1]. If parsing error, then return FALSE. If TLV String is not a single constructed or primitive data object, then return FALSE. FOR every primitive TLV in TLV String { IF [update conditions of T include RA Signal] THEN IF [IsKnown(T)] THEN IF [(IsNotPresent(T) OR IsEmpty(T)) AND L is within the range specified by Length field of the data object with tag T in the data dictionary in Annex A AND TLV is included in the correct template (if any) within TLV String5] THEN Store LV in the TLV Database for tag T ELSE Return FALSE ENDIF ELSE IF [IsEmpty(T)] THEN Store LV in the TLV Database for tag T ELSE Return FALSE ENDIF ENDIF ENDIF } Return TRUE 5 Data objects must be included in the correct template as indicated in the data dictionary in Annex A. Data objects for which no template is indicated ("–") must not be returned in a template from the card.
countries.
Legal Notice
The EMV® Specifications are provided “AS IS” without warranties of any kind, and EMVCo neither assumes nor accepts any liability for any errors or omissions contained in these Specifications. EMVCO DISCLAIMS ALL REPRESENTATIONS AND WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT, AS TO THESE SPECIFICATIONS. EMVCo makes no representations or warranties with respect to intellectual property rights of any third parties in or in relation to the Specifications. EMVCo undertakes no responsibility to determine whether any implementation of the EMV® Specifications may violate, infringe, or otherwise exercise the patent, copyright, trademark, trade secret, know-how, or other intellectual property rights of third parties, and thus any person who implements any part of the EMV® Specifications should consult an intellectual property attorney before any such implementation. Without limiting the foregoing, the Specifications may provide for the use of public key encryption and other technology, which may be the subject matter of patents in several countries. Any party seeking to implement these Specifications is solely responsible for determining whether its activities require a license to any such technology, including for patents on public key encryption technology. EMVCo shall not be liable under any theory for any party’s infringement of any intellectual property rights in connection with the EMV® Specifications
countries.