Some additional code linting
- remove unused imports
- remove unecessary parenthesis from if statements
- created TLVutils TAG dictionary in creation time
- Use pycryptodome instead of pycrypto
- Fixed some unit tests asserts
- fixed some instances that sending message to vpcd the msg is considered a string object instead of byte array
- make TLVutils.pack work in python 3
There is no longer an external (or stable) interface for libopensc.
Linking this program with an existing version of libopensc that is
pre-installed in the system library paths is not practical.
However, a specific snapshot of the OpenSC source code is embedded
here as a Git submodule (and included in the source distributions).
Build libopensc from this and statically link it into this program.
(Options such as '--enable-openpace' that are passed to ./configure
will be forwarded to control the build configuration of libopensc.)
Remove code that existed for compatibility when dynamically linking
with older versions of libopensc.
Fix prerequisites and Automake variables in the Makefiles, so that
running "make dist" does not fail if the program is not built. When
running help2man, have it execute "gengetopt --show-help" instead
of the built program to obtain the help message.
* Fix length of filesize parameter in FCP template
'Number of data bytes in the file' parameters should be represented on
two bytes in FCP.
* Extendable length of filesize parameter in FCP
Increase length of filesize parameter in FCP template if can't be
represented on two bytes.
DF names shall be globally uniqe within a given card. Selecting by DF
name should be made on card level instead of current DF level.
A new list has been inroduced as a static attribute of MF in order to
track each named DF.
* Prevent prettyprint from infinite recursion
By adding a possible self-pointer to MF prettyprint_anything function
got into an infinite loop. Printing of named DFs has been cut off.
hashlib.pbkdf2_hmac has been backported to Python 2.7 (see PEP 466). In
order to avoid reinventing the wheel and to include less third party
code we switch to the stdlib implementation.