Skip to content

0.1.0

Latest
Compare
Choose a tag to compare
@leonlynch leonlynch released this 12 Mar 12:02
· 84 commits to master since this release
0.1.0

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)
  • 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 (see emv-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 (see emv-tool --help for details) providing basic EMV processing up to Read Application Data. This tool, and the emv library, are still very far from full EMV processing but will grow towards it in future.

NOTE: See README for installation instructions.