Initial release:
emv
library providing:- Many EMV tag identifiers
- Processing functions for various EMV field formats (
ans
,n
, etc) - Various bitmasks to interpret EMV binary fields
- Iterators for various EMV binary fields such as Application File Locator (AFL), Cardholder Verification Method (CVM) List and Data Object List (DOL)
- EMV TLV abstraction
- Terminal Transport Layer (TTL) abstraction
- Terminal Application Layer (TAL) abstraction
- EMV application abstraction
- Debug logging mechanism
emv_strings
library providing:- String converter functions for various EMV formats (
cn
,n
, amount, etc) - Stringify functions for many EMV binary fields
- Lookup functions for ISO 639 language codes
- Lookup functions for ISO 3166-1 country codes
- Lookup functions for ISO 4217 currency codes
- Lookup functions for ISO 18245 Merchant Category Code (MCC)
- String converter functions for various EMV formats (
- Ancillary abstractions to facilitate embedded use of the
emv
library:- ISO 7816 Answer-To-Reset (ATR), SW1-SW2 and COMPACT-TLV parser
- ISO 8825 Basic Encoding Rules (BER) parser
- ISO 8859 to UTF-8 converter
emv-decode
command line tool (seeemv-decode --help
for details) providing:- ISO 7816 Answer-To-Reset (ATR) decoding
- ISO 7816 Status bytes (SW1-SW2) decoding
- EMV TLV decoding
- EMV Data Object List (DOL) decoding
- Decoding of individual EMV fields
- ISO 639 language lookup
- ISO 3166-1 country lookup
- ISO 4217 currency lookup
- ISO 18245 Merchant Category Code (MCC) lookup
emv-tool
command line tool (seeemv-tool --help
for details) providing basic EMV processing up toRead Application Data
. This tool, and theemv
library, are still very far from full EMV processing but will grow towards it in future.
NOTE: See README for installation instructions.