|
|
|
|
|
by lmilcin
1619 days ago
|
|
I have worked for a time with credit card terminal applications. We used BER-TLV throughout the system extensively, where it was needed as well as where it wasn't. I have implemented complete parsers/serializers, data structures using TLV, transactional database where data was stored as TLV documents. EMV is built on top of BER-TLV, SSL used it, as well as ISO-8583 messages transmitted data encoded with BER-TLV. Communication with the PIN Pad was built on it. We kept configuration as BER-TLV documents. I have been able to parse hex representation in my head. I really liked the standard. It is nice, flexible and very efficient. Easy to parse, can be parsed reliably and safely in statically allocated memory. To those who think this is ancient history and it should be dropped -- do you think that might just be because you don't actually know it or maybe you just think it is old and so it must be bad? |
|
Because all tags are these custom things, some don’t strictly parse out to unique type codes too. So a non-EMV parser will have a few tags that map to the same integer code and cause some fun bugs.
That project was when I really understood deep-down why JSON won in the end!