P3 Card Edit Tool (EOL)

Introduction

The EFTtools set consist of applications supporting payment transaction service development, testing and benchmarking. It currently consists of following components: Cryptographic Calculator and HSM Commander.

In recent versions there were also EMV Tool, now part of Cryptographic Calculator, and P3 Card Edit Tool, which development was stopped and its latest release is part of the 20.04 release.

This tutorial focuses on P3 Card Edit Tool and its functionality.

P3 Card Edit Tool (BP-Cedit)

As its name states it is dedicated to EMV Card data validation and manipulation for issuers and card manufacturers. BP-CardEdit can read personalisation data produced by a Card Management System and also personalised data encrypted by the Thales P3 device. On top of this functionality it adds detailed information on contained EMV data and allows their convenient export in a text file.

Format & Data file loading

Files produced by a CMS mainframes or Thales P3 devices follow a layout defined in a fmt file. CardEdit will check if it has all available information for opening the data file and ask user to provide format file if not already loaded. Information from this file will be used for data file parsing.

Following information is then provided to a user:

  • Record ID & Header information
  • Record data statistics
  • Embossing information – plastic nr., valid from, valid to, cardholder name, company name, last four digits, cvv2 etc.
  • Magnetic stripe data – Track 1, Track 2, cardholder name
  • Carrier
  • Activation sticker
  • Chip data – separated by loaded applications, tags are visible in a tree view and can be sorted.

Card personalisation data usually follow proprietary format given by particular issuer. This may cause that not all data are read and parsed in a detail. Let us know if you are experiencing such an issue, our team will be glad to implement parser to match your data file.

Record management and data export

CardEdit allows limited record management on data loaded. This can be handled through a main menu and also through the navigation bar with list of loaded records. Particular records can be deleted and additional records loaded into a data set.

Export function located in Tools menu then allows to export all loaded data in a text file organised like on an example below. Such data can be then used for further analysis or easy manipulation outside of scope of CardEdit.

[Card 1]
Plastic Number=4644 7800 0000 0381
Expiry Date=06/18
Last 4 digits=0381
CVV2 Value=
PAN=4644780000000381
Expiration Date=1806
Service Code=208
CVV=000
CVV2=600
4F=A0000000031010
50=5669736120437265646974
57=4644780000000381D18062081315100000000F
5A=4644780000000381
5F20=5445535420434152442034202020202020202020
5F24=180620
5F25=140601
5F28=0710
5F2D=656E
5F30=323038
5F34=00
5F50=687474703A2F2F7777772E6D657263616E74696C652E636F2E7A61
5F54=4C4953414A4A4A
5F55=5A41
5F56=5A4146
82=7C00
84=315041592E5359532E4444463031
87=01
8C=9F02069F03069F1A0295055F2A029A039C019F3704
8D=8A029F02069F03069F1A0295055F2A029A039C019F3704
8E=00000000000000000403010302031E031F00
8F=92
90=081DBBADB24912A0B996FC84CCF4AE92FE24CE1AACA6A7F3B7158B621EC7829F697505FF9CEF425A41B4E1D3D3B0482C0483CB4CA9FACB0106D924B40251EA7BB9B0FE9E527BCCF5B80AD8F50EECA6BD931D183668921FE31FA6597604E0416B5F3DA60D226F4C0895DE8535AC8BF7718C14F99B1137659D985E764180132E3398CC1F2FF2A63A8429F7CBAC489E85798C7F6C90CB18E3CB074E09C92E02575215404B5AF5EA4A09B68A110B870FF458
92=176E399D57FC890FC534C1F79B8327DEBCD852F66498C4461DC77B1983015C8E08355A95
93=9FEE5875B23A5B9D40A9B55EE90011B5BF4047B52DAB46BC997BF16DA1ECB642771FA05F26454D84BAC9F20B5333D399C1E1DE10DCF21FF511782A648CC48CF7785D57B80AD15783937BEB78A1894B78790B49B3A598D81811A9CC519D986549591BD9A863F61E698503C72CA808BA3B5B474E986FE6D3FE52F8F57BB86D1C780BFF657B8A8322307557448AD206C7E473858CAAFF8F9046F0ADBCB580AE90C6FE2C2ED5A331750E65BDF99C3BEB0893
9F07=FF00
9F08=008C
9F0D=D840BCA840
9F0E=0010C00000
9F0F=D868BCF840
9F10=06000A03000000
9F11=01
9F12=5669736120437265646974
9F1F=313331353130303030303030303030303936303030303030
9F32=03
9F38=9F1A02
9F44=02
9F46=23ECDCD0D3E4F05A41FAAEDB308D9635E2A690FBA1D4480B688593867A3E06EDD5A2BF1DBC8B3D86B0368F0851D93DB0516FDC9620E5CD71D84CEEC184284293FF76034CE86D3F9720ACA6BF75B3158F9BD34960D0DD6AE743800220C3FECE6724800CA9A838BFF6048DA1ADB20CAE5136857CA74DAD75C47970842838C72295104835895EC1E701192B3D70224BAAD0168E1272E749E1B3D88D9280BF48CCFFFBAE7BD549F33DB58DDA2646396ECA8F
9F47=03
9F49=9F3704
9F4A=82
9F4D=0B01
9F4F=9F27019F02065F2A029A039F3602
9F51=0710
9F52=C3380000
9F55=C0
9F56=80
9F57=0710
9F58=03
9F59=05
9F60=0101EDEEE339751288BBF2728B884E7990AFE118E533CF15EDE13EA4958B03ADBF4CF9F62BD6BA7CFD56D30661857DB89FEED057FA8B2EB9857ED0B12E1E478727FFF8D1B0E941D066F9B843B041CBD3B5AAEF0D8FD1
9F62=1954E3CD4CDCE371
9F63=0934
9F72=00
DF02=01
DF03=03
DF60=B1B1C4FF5300D587A7F5DE8B67822C51E87968068B7987A40C679B62326E55CC399422358161CE8114D07861C7177DFA406C8EBAFA6733B1CEDECBD87B1E59CC
DF61=12624FFD53C6229F135CF148C22649777B584D42120AE0A11E4A6F17EE09EA245CF52359A6E66F91279A9B7D6497C95BB1B43CBADF71BB92CACF71A6F6E1A308
DF62=F38B0427FC3291F1617E5E0E90E8158DF461A7342A5F26B2FA693309EDAF0323D232F3A6E0D37D517C0782C264D22961AAE96734AE1D8EE27821B26FDEDAFC7D
DF63=D503D3E083CC78A618509079C48D5C2579CF905B731492AFB33827EB7196F78F9EF8D48312BBCED325293A75E29CA68726D3A64DFB493643761ADF25E93F21A9
DF64=D9D6C63285627373171B19CD6E4254F6422B15E897996660D087B595F57FA8A6DC40FD445B7D5F2C711F0637052283BEC920816A00F3C512BFA7560C58943AC0
DF92=01

Validate MAC on ICC data

This function validates ICC Data MAC for each Record. You have to provide the KEK in clear form.

——– #1 Record: 5042220000525015 ——–

AID:                10100000
KEK BIN:            00000000
KEK Version:        0000000000000000
MAC Key:            0000000000000000
Mac:                00000000
Data:               7B303030303234381010000000F200000000000000000000000000D8420350422257135042220000525015D18032010000000525000F5A0850422200005250155F201A4D617374657220322020202020202020202020202020202020205F24031803315F25031208015F280207105F300202015F3401009F1F183030303030303030303030303030303532353030303030309F420207109F440102CA06000000010000CB060000000100009F6216504222FF303030303030303133FF987C9830885B3F97DF0108EAD80B8B69A8EC5FDF221000000000000000000000000000000000DF230400000000DF2608831E8D29654F507C000000000000000000000000
Clear MAC key:      EADC094BEF1A0537
Calculated MAC:     1EA80566
Result:             Failed

Consistency Checks

Takes a first record found as a reference and validates all the rest for their length and format. Note to pick at least one validation option.

——– #1 Reference Record: 5042220000525015 ——–
Record length:            1064
Header length:            12
Embossing length:         123
Mag. Stripe length:       118
Carrier length:           468
Activation Sticker length:0
Apps loaded length:       2
App #1 data length:    512
App #2 data length:    170
Embossing check:          OK
MagStripe check:          OK

Summary

In this article, we went through the functionality of P3 Card Edit Tool.

P3 Card Edit Tool and other tools covered in EFTtools suite were designed to help and assist payment industry people in their day to day tasks and make their work the most effective. Our team would be grateful if you would suggest any improvements to our applications or report completely new functionality needed. Feedback from our users like this is exactly what drives the development of its and helps us to share our experience to wide public.