New classes:
- database_model: Manage the database tables (keys, req, cert, crl, templ)
extracted from widgets/MW_database.cpp
- arguments: parse commandline, dynamically create help text
The DbTransaction class automatically rolls back when the scope
is left (destructor) and no commit happenned.
Every transaction begin will increment the counter,
each commit/rollback will decrement it. Only if all transactions
finished with a commit, a final database commit will be performed.
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
See discussion on SorceForge: "v1.3.0 freezes on Windows 7"
If a CA certificate with a matching subject but missmatching key
for a CRL exists, XCA enters an endless loop.
Correctly iterate over signer certificates when searching
the signer of a CRL.
Better support multiple selections
- Export all selected items into one PEM file
- Batch Revoke/unrevoke/renew of many selected certificates
of the same issuer
- allow exporting templates as PEM
Add Feat. Reg. #83 Option to revoke old certificate when renewing
Always put all signed certificate to the newest CA.
If a CA certificate is renewed, all certificates issued by
the old CA are now shown as signed by the new one.
Before exporting the private key an acknowledge is
required. Here you may opt to only export the public key.
While at it, display the internal Name in export dialogs
right-align numeric columns and make them monospaced.
Save their current state in the database.
Also add column-menu to the other context menu
fix minor bugs
Support for "Unstructured Name" and "challange password" columns
in the request-table
Support for name hash as used by OpenSSL to lookup certs.
As table column and as distinguished name information
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
- Only once set notBefore to "now" when creating Cert-renewal
or NewCert dialog.
- Apply-time button now always uses the current value from notBefore
and adds the time-span without resetting notBefore
- Checking "midnight" now immediately modifies the dates.
Unchecking "midnight" now recovers the old value
- The seconds are always set to 00, since they can't be set via
the DateTime dialog anyway
- CRL generation now too allows to use midnight and time ranges
and uses GENERALIZED time if the date is out of range for UTCTIME
(same logic as for certificates)
- 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