Use the provided plural mechanisms of QT.
The "PO" translation also works smoothly and
the translation mechanisms between .po <-> .qt
was tested successfully.
The new english translation file translates
the single phrase:
"Delete the %n revocation list(s): '%1'?"
into
"Delete the revocation list: '%1'?" for one item
and
"Delete the %n revocation lists: '%1'?" otherwise
Yubikey defines and enforces 4 (NEO) or 24 (YubiKey YK4, YubiKey YK5)
slots with special, fixed names.
Add a dropdown box if "fixed_ids" are present and let the user select
the slot during key generation.
When XCA started in 2002, there were no C++ initializers.
Drop explicit initializers from the constructors.
- Fix indentations of section declarators.
- Replace NULL by nullptr when feasible.
- Sort private section: properties first, then methods.
Only use the public key when searching for
a matching key on the token.
Use token-name and serial to give the user a hint which token
XCA expects to carry the key.
Add settings class to access the settings table in the database
Cache values and improve database writes.
Options dialog simplified
Replace getSetting / storeSetting
Unpack option flags to rows in the settings
This is a large squash of many small commits.
Allow porting data from the legacy format to SQL.
Store Binaries base64 encoded and use db->transaction
Update password hash to be 8000 x SHA512 with 8 byte Salt
Add revocations table and fixup CRL generation
Add comment and insertion date columns
Fix column saving, remove trust, add XcaDialog
Allow changing the internal name and comment in Cert/Req details view
Extend Comment functionality, Replace About.ui by XcaDialog.ui
the sole use of the engine was signing.
But on the other hand it had to be compiled for all platforms
and it prevented the use of multiple PKCS#11 libs.
Keys: Sort Keysize numerical
Certs: CA, fingerprints, start date (notBefore)
Crl: CRL number , Last update
Requests, Crls, Templates, Certs: All subject items and the full name
- extended russian translation by Pavel Belly
- dropped approach to create sentences from different parts
like "Successfully created %1 '%2'" with %1 being "the certificate"
and %2 being the name. This leads to trouble for other languages.
Therefore I decided to mention the whole sentences and accept
the many, almost duplicated sentences.
- Consolidate german translation:
. Smart card/Smartcard -> Chipkarte
. Besitzer -> Inhaber
. Unterschriftsanfrage/Zertifikatsanfrage -> Zertifikatsantrag
- Support translations for pki_*.cpp by adding Q_OBJECT
- 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
- 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