Commit Graph

51 Commits

Author SHA1 Message Date
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
61fa66b129 Add digest class encapsulating EVP_MD
Enables the separation of the core classes from the hashbox widget
2021-06-01 17:48:37 +02:00
Christian Hohnstaedt
ff7704ff0b Add context sensitive documentation
All dialogs get the "Qt::WindowModal" modality to
operate the Help window in parallel
while also blocking the dialog parent windows.

The manageRevocations() moved from model to view

The Details dialogs become more self-sufficient.
There is a statc start method that shows the dialog and
updates name and comment after accept().
This allows recursive starts of certificate details and
independence of mainwin.
It is necessary to set the current toplevel widget as parent
for the next dialog to not block the application.
2021-04-23 15:50:13 +02:00
Christian Hohnstädt
24009b13c7 Fix warnings 2020-10-14 19:48:17 +02:00
Christian Hohnstaedt
c528c37986 Merge branch 'master' into develop 2020-04-05 10:58:47 +02:00
Christian Hohnstaedt
2d0980d4f6 Use pkcs11_lib_list as model for Options:pkcs11list
Change pkcs11List from QListWidget to QListView
The pkcs11_lib_list holds the data of the loaded libraries.
For the model a QList "model_data" is used to
hold indexes into QList dirs to allow duplicates,
moves and removes.

On windows it now displays the paths with \ separators.
2020-04-05 09:16:12 +02:00
Christian Hohnstaedt
def5f8e72e Abbreviate "adapt_explicit_subject" to fit into CHAR(20) of settings.key_
SQLite does not care, but PostgreSQL does.
2020-04-03 13:38:24 +02:00
Christian Hohnstaedt
5543ec2fb8 Merge branch 'master' into develop 2020-04-02 07:35:18 +02:00
Christian Hohnstaedt
b41d322069 Refactor native separators / and \ on windows.
Always only use forward slash /
Drop all "QDir::separator()" and "nativeSeparator()"
functions. Only use it where filenames are displayed for the user.
2020-04-02 06:12:47 +02:00
Christian Hohnstaedt
ef9b3aff3d Drop superflous includes from header files 2020-03-13 12:13:27 +01:00
Christian Hohnstaedt
c89b6aff29 Move NID lists for ExtendedKeyUsage and DistinguishedName
into lib/oid.h
2020-03-11 07:19:56 +01:00
Christian Hohnstaedt
c5208f1cd7 Consolidate headers, unguard delete operator 2020-03-11 07:19:56 +01:00
Christian Hohnstaedt
e4d0ab8f8e Refactor Image and icon ressources 2020-03-11 07:19:56 +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
f43e7520db Support concurrent database access.
If a database is modified by another instance of XCA the passive
instance reloads and displays the changed parts.
2019-03-25 06:47:25 +01:00
Christian Hohnstaedt
ced0995862 Close #91: Change order of "PKCS#11 provider"
With this commit PKCS#11 libraries may be reordered
and enabled or disabled.

The slot selection dialog iterates over all enabled and successfully
loaded libraries in the configured order and collects the slots
of each of them.

In the options dialog the library info is shown in the tool-tip
2019-03-21 06:12:51 +01:00
Christian Hohnstaedt
15d33fdcfc Make the dynamic DN entry adaption configurable.
If the option is selected, the behavior from the
previous commit is enabled. Otherwise, the
explicit DN entries stay as configured.
2018-06-21 20:29:45 +02:00
Christian Hohnstaedt
f0e6dc1f1b Close #35: Configurable size of serial number.
Allow to configure the previously fixed serial number length
of 64 bit between 8 and 256 bit
2018-05-19 18:09:28 +02:00
Christian Hohnstaedt
0c8df14b7e Close #27: Configurable certificate expiry warning threshold
Add configuration values in the Options dialog to
control the time when certificates get marked yellow and
the expiration alarm time in calendar entries.
2018-05-11 09:19:12 +02:00
Christian Hohnstaedt
6e432238e7 Generalize, simplify and unify settings management
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
2018-03-10 09:04:54 +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
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
82bb0e9f33 Translate header and tooltips 2014-11-14 09:27:39 +01:00
Christian Hohnstaedt
a97b8f9add Select whether to translate established x509 terms 2014-11-13 20:10:18 +01:00
Christian Hohnstaedt
dcd940b6b8 SF Feat. Req. #57 More options for Distinguished Name
Make explicit DN subject entries configurable
per database.
2014-11-12 22:19:44 +01:00
Christian Hohnstaedt
38ed0b60b5 Update Copyright dates 2012-05-06 11:16:44 +02:00
Christian Hohnstaedt
10436bf753 Differentiate between invalid and undefined date
Undefined end dates are described in RFC-5280
Invalid dates should never ever arise in certificates.

Add configuration option to disable the colorization of expired dates.
2012-04-10 13:09:09 +02:00
Christian Hohnstaedt
323923f00c Add PKCS#11 library searching facility
Also fix dir-separator on W32
2011-07-20 07:21:31 +02:00
Christian Hohnstaedt
813faede06 catch error in driver info when displying pkcs#11 libs 2011-07-16 10:16:07 +02:00
Christian Hohnstaedt
1a3a417bb6 cleanup after closing a db and reset settings before opening it
Since OpenSC is not part of XCA anymore, set the default
PKCS#11 lib on windows to C:\WINDOWS\system32\opensc-pkcs11.dll

Also disable Token menu after closing a database.
2011-07-15 07:18:18 +02:00
Christian Hohnstaedt
9eaad7020a Fix PKCS#11 library handling
In case of an empty PKCS#11 library list, the default was
selected again.
Now the list remains empty and the Token menu stays disabled.
2010-09-01 18:40:43 +02:00
Christian Hohnstaedt
ebe027830a avoid empty PKCS11 library name 2010-08-27 19:18:21 +02:00
Christian Hohnstaedt
9924d39668 set sane start dir for PKCS#11 lib selection 2010-08-14 11:01:31 +02:00
Christian Hohnstaedt
23ad77b6f0 Support multiple PKCS#11 provider 2010-08-11 23:12:48 +02:00
Christian Hohnstaedt
d34cc82e1f avoid the need of pkcs11 engine
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.
2010-08-10 21:58:51 +02:00
Christian Hohnstaedt
fb62b3aba8 Change default string encoding
Now by default it uses Printable string and only if
the value can't be encoded as printable string it will use
UTF-8 instead.
2010-07-15 20:54:23 +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
cceec6a700 improve PKCS#11 lib loading for Windows 2010-03-12 08:17:25 +01:00
Christian Hohnstaedt
f1c528fcc9 update copyright information 2010-03-11 07:13:48 +01:00
Christian Hohnstaedt
825fea569d improve token handling
- 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
2010-02-28 10:31:53 +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
9f900ae6f7 update copyright date to 2009 where appropriate 2009-11-24 17:54:21 +01:00
Christian Hohnstaedt
6f7722124b change the default string encoding
- avoid T61STRINGS, which are pretty locale dependent
   This can be changed via the options menu
2009-11-20 08:31:06 +01:00
Christian Hohnstaedt
0aced7f2c4 improve Smart-card handling
- 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>
2009-11-11 22:58:34 +01:00
Christian Hohnstaedt
c7dc959084 add a load button
- when changing the PKCS#11 library path in the options dialog
   a load button tries to load the lib and informs
   about failure or success
2009-11-11 09:25:59 +01:00
Christian Hohnstaedt
1f93c82010 pkcs#11 fixes
- support pkcs#11 library selection by file dialog
 - don't prompt for pin if CKF_PROTECTED_AUTHENTICATION_PATH
   untested, because of ENODEV on my desk
2009-11-06 08:18:38 +01:00
Christian
f156d6dee6 fix typo in options, update documentation 2007-05-29 21:36:19 +02: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
91e4e78cef Add options dialog to set the default hash algo,
mandatory distinguished name entries and allow duplicate key use
as requested by some users.
show CRL signature alg information

Version 0.6.3
2007-05-20 10:05:10 +02:00
Christian
0ee1de2b3b More options 2007-05-16 00:10:30 +02:00