Commit Graph

71 Commits

Author SHA1 Message Date
Christian Hohnstaedt
6d01928d5d Automatically transform the key encryption scheme
When opening the database Find legacy encrypted keys and:
 - update them automatically when encrypted with the
   database password or
 - inform the user about a required action when encrypted with an
   individual passphrase

Related issues #458 #511 #503 #500 #494 #484 #482 #475

Remember a complete transformation of all keys
in the Settings["legacy-keys-updated"]
to avoid analyzing all keys each tim a database is opened.
2024-02-10 11:39:43 +01:00
Christian Hohnstädt
6ea01e80f6 Refactor item export: separate GUI and database
Collect all export formats in pki_export.

Each export format has assigned acouple of flags, indicating,
whether they are text, concatenateable, encrypted, usable for
multiple selections or only for a single item.
2021-11-13 14:49:02 +01:00
Christian Hohnstaedt
f2fe9be3f3 Move file loading GUI element out of non-gui container class (db_*)
into GUI View widgets/*TreeView.cpp
2021-10-30 11:51:35 +02:00
Christian Hohnstädt
be1a44d0a8 Consolidate export types and format in pki_export class
Move the descriptons from the ExportDialog into the
new pki_export class.

Also translate the exportType::etype to F_* flags
2021-10-30 11:51:35 +02:00
Christian Hohnstaedt
731d866bcb Drop more unneeded includes 2021-06-01 17:48:37 +02:00
Christian Hohnstädt
68273d0a30 Switch from autotools/qmake to cmake
Why?
 - QT will switch from qmake to cmake sooner or later.
 - autotools are good for unix-ish systems, cmake also for
   macOS and Xcode as well as Windows and VS-code
 - Cross compiling the windows-binaries on linux
   is not very helpful to attract windows-centric
   developers.

Also drop qmake's xca.pro
Generate man-page and sphinx sources of commandline arguments
during build by executing xca (xcadoc.cpp).
Generating Version-patchlevel and git hash is now also
OS independent.
2021-06-01 17:48:37 +02:00
Christian Hohnstädt
24009b13c7 Fix warnings 2020-10-14 19:48:17 +02:00
Christian Hohnstaedt
7c65a786ea Revamp database management
The global variable "Database" of class xca_db
can be used by any other class to access. No need
to provide it.

The "xca_db" class managed the "database_model" pointer.
Accessing the name of the current database has been unified.
2020-05-08 07:47:15 +02:00
Christian Hohnstaedt
ef9b3aff3d Drop superflous includes from header files 2020-03-13 12:13:27 +01:00
Christian Hohnstaedt
2f917237bc Close #157 Generate and export CRLs from commandline
Enable key generation and CRL generation on the commandline
2020-03-13 12:13:27 +01:00
Christian Hohnstaedt
a48ea10e3d Split key generation and data-collection-UI
Use the key job to transfer the information
2020-03-13 12:13:27 +01:00
Christian Hohnstaedt
3dd34a61bc Move "showPki()" from the model class to the view
The displaying function requires UI.
2020-03-13 12:13:27 +01:00
Christian Hohnstaedt
113a201d39 Separate database from Mainwin for better cmdline support
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
2020-03-11 07:19:56 +01:00
Christian Hohnstaedt
026d8f8e6d Extend PEM files by human readable information about the item
This can be enabled or disabled during export.
Move from FILE* to QFile
2019-03-18 06:25:20 +01:00
Christian Hohnstaedt
8d64db6be3 Const-ify remFromCont() 2018-04-24 23:10:46 +02:00
Christian Hohnstaedt
c43051df12 Improve Use counter acquirement by one SQL statement for all keys 2018-04-09 06:09:55 +02:00
Christian Hohnstaedt
24d1f85a26 Make use of C++ templates for more type-safety 2018-03-05 07:46:10 +01:00
Christian Hohnstaedt
4b3ee2c705 Switch database format to SQL(ite)
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
2018-03-05 07:42:36 +01:00
Christian Hohnstaedt
bdbaa0a946 Support Dragging certificates and other items as PEM text
Also dragging PEM test into XCA opens the import Dialog
2018-02-20 23:47:17 +01:00
Christian Hohnstaedt
e5541c6d67 SF. Bug. #81 Make xca qt5 compatible
Extend XCA to also compile against Qt5
Remove directory from Qt includes
2015-09-17 18:42:42 +02:00
Christian Hohnstaedt
75a6d117f3 Refactor context menu
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.
2015-05-17 09:17:04 +02:00
Christian Hohnstaedt
f8f730d41a Support exporting SSH2 public key to the clipboard 2015-04-07 20:22:24 +02:00
Christian Hohnstaedt
a88b86ad9d Select the translation language via File menu 2014-11-20 20:14:25 +01:00
Christian Hohnstaedt
a7c40be095 After all we are able to convert all extensions to config
Add a button to the certificate detila dialog to show the
extensions as OpenSSL config

improve AuthKeyId

Allow selecting public keys for certificates.
This works if it is signed by an other cert.
2010-07-21 17:52:17 +02:00
Christian Hohnstaedt
de851ed3a9 Changed all header includes to QT4 names and included the correct component name
By Andreas Piesk. Thanks!

adapt to HEAD since the patch is based on 0.6.4

drop qt4/Qt include in list of includes during configuration
2010-06-13 11:49:38 +02:00
Christian Hohnstaedt
f1c528fcc9 update copyright information 2010-03-11 07:13:48 +01:00
Christian Hohnstaedt
d362a9c51e add new Token-features
- 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
2010-02-17 07:20:18 +01:00
Christian Hohnstaedt
f41411902f more Smart card
- 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
2009-11-03 19:51:37 +01:00
Christian Hohnstaedt
48f59e9d1a support for PIN changes of Smart card tokens. 2009-11-01 19:41:29 +01:00
Christian Hohnstaedt
dcf0c83b35 support smart card import
- import keys and certificates from a smart card and
   show them in an importMulti dialog
 - support exporting the public from smart card
2009-10-29 18:54:08 +01:00
Christian Hohnstaedt
66c7db0350 Start implementation of SmartCard support
- use PKCS#11
 - load keys and showing them works
2009-10-28 18:54:22 +01:00
Christian Hohnstaedt
8784f0ffd3 Impove usability
- preset New key with certificate name if initiated by
   certificate dialog.
 - apply template, if CA template is defined
2008-01-26 12:38:45 +01:00
Christian
4e24a63e5b String encoding options added
- move used-keys-button form options to NewX509 dialog
 - Set string options in options dialog
2007-05-28 22:45:07 +02:00
Christian
8283d8e7b9 replace copyright notice in source files
(copyright and licence itself remain unchanged)
fix configure to set Qt include dir
code justifying
2007-04-12 12:25:28 +02:00
Christian
d4a90be207 replace "include <Qt/" by "include <" 2007-04-11 11:19:22 +02:00
Christian
e7b96a4245 fix click-label functionality
unify showItem()
fix NewX509.ui
2007-01-29 23:10:58 +01:00
Christian Hohnstaedt
606ebf01c3 fix image of CRL export
add Key column showing the key-password state
use enum for key-state
Fix focus for password dialogs
Resize columns after item loading
2006-11-30 18:14:24 +01:00
Christian Hohnstaedt
f0d2fa3e39 Fix warnings
mv showItem() to db_base class
cleanup
Disable PKCS#7 signing and encryption
2006-11-17 15:05:48 +01:00
Christian Hohnstaedt
ffdc478f5c move edit() to db_base for all ItemModels
add EditRole to get the original name when editing
delete the CA, client, server Templates and keep only one.
2006-11-15 11:38:32 +01:00
Christian
50f2e6347d fix (name)editing of items 2006-11-15 00:56:18 +01:00
Christian Hohnstaedt
51510e9390 remove sleepycat from licence info
add connects for edit and doubleClick
2006-11-14 23:04:16 +01:00
Christian
79cd9d4766 changes for doubleClick 2006-11-14 06:33:49 +01:00
Christian
6be660c3f6 Certificate renewal fixed
Export P7 completed
Signals of newKeys refixed
2006-05-22 23:11:21 +02:00
Christian
4e550c4f66 Added PKCS12 and PKCS7 import
clicklabel colorized
Database password improvement
2006-05-20 02:57:58 +02:00
chris2511
9773c7b36d more for QT4 2006-04-24 05:08:49 +00:00
chris2511
a291aca857 more for QT4 2006-03-20 22:16:08 +00:00
chris2511
13b6bb9e07 more QT4 changes 2006-03-18 12:59:37 +00:00
chris2511
c6622680db push forward to QT4 2006-03-12 17:39:52 +00:00
chris2511
e559c9b1c6 Change password 2003-08-11 22:14:15 +00:00
chris2511
592ae276a4 critical flag in key usage and extended key usage works now
Import of Multiple items is done and works
2003-07-30 14:55:29 +00:00