- use token.label to identify the slot
- show min and max PIN lengths when changing USER and SO PIN
- sanitize token strings like label
- pad token strings correctly with ' ' 0x20
- reenable "Init Security token"
- add tokenInfo.model to the card information, revamp tokenInfo
- add driverInfo()
- use token_info.label (card_label) as token descriptor for reading passwords
- use only CKA_LABEL as internal name
- replace occurances of "Smart Card" by "Token"
- Support for creating keys on a token
- Store existing keys on a token
- delete keys and certs from a token
- update docs
- allow "umlauts" and other non ASCII char in database filenames
using the OS dependent handling QString2filename, using
8Bit codepage encoding on Windows and UTF8 on linux and OS X
- if PublicKey or Cert CKA_LABEL fails, try CKA_SUBJECT
- don't use CKA_VALUE attribute on PUBLIC_KEY,
because not everyone supports it.
While being at it, add code for DSA and EC Cards.
- load PKCS#11 engine only after database open.
- avoid reloading the DLL on windows, because it is not supported.
Windows users need to restart XCA after changing the PKCS#11 path
- fix getSlotList() and return a QList<unsigned long>
- fixes to not crash if Smart card support is missing
- select correct list of hash algos by
reading PKCS11 mechanisms per slot and save them among with
the card in the db
- remove debugging code
- allow to configure the path to the PKCS#11 library
- copy pkcs11 header-file into XCA lib
- add support to store a certificate on the card
(did not work with my TCOS card, but in theory....)
- init PIN via PUK
- be more robust regarding card changes
- improve PIN handling
- This means that any database opened by this version can't
be used properly by older versions
- Opening older databases immediately rehashes the password
an makes it unusable for older XCA versions.
- Opening newer databases with old XCA versions won't hurt,
it just does not work properly
This patchset adds:
- configure.mac now looks for qmake, backs up xcode project, uses xca.pro to generate a new one, generates a different local.h
- mac-package.sh generates a standalone .app bundle for distribution using deployqt from trolltech labs, packages up manual, COPYRIGHT, etc into a .dmg
- mac packaging niceties in the qmake project
- mac icon file
- usability fixes for OS X:
- look for user configured oids and such in ~/Library/Preferences/xca if it exists
- look for original ones in app bundle/Contents/Resources (it tried to do this before...)
- more robust code for getting bundle location (less likely to be broken by Apple in OS revisions)
- start browsing for files in ~/Documents
- fix wildcards on mac so files without extensions will be opened
- fix save behavior for .xdb files so that it's hard to get one that doesn't end in .xdb, as this causes difficulty w/Qt
Notes:
- one of the compilation fixes was in the new revocation data function that replaced the old macros... I didn't have time to verify that my fix doesn't break when used with 0.9.8.
- QStringToAsn1() is clearly incorrect but I haven't yet determined what callers expect, so I just called it out in a comment and did not yet fix it
- I added some code that I haven't tested on Windows because I thought it might be a nice function to have there too. I have not added anything to call that function, however, since I don't currently have a machine I can test on :). The code is clearly marked in comments.