Commit Graph

100 Commits

Author SHA1 Message Date
Christian Hohnstaedt
802a8787cf Adaptions to stay OpenSSL 3.0 alpha16 compatible 2021-05-12 08:49:28 +02:00
Christian Hohnstaedt
57802580c8 Drop backward-compatibility for old(<2.0.0) XCA databases 2021-05-10 20:41:12 +02:00
Christian Hohnstädt
1500e636c8 Drop OpenSSL backward compatibility hacks < 1.1.0
OpenSSL < 1.1.1 is out of support anyway
2021-05-09 12:25:32 +02:00
Christian Hohnstaedt
c528c37986 Merge branch 'master' into develop 2020-04-05 10:58:47 +02:00
Christian Hohnstaedt
4314b0ead9 constify slotid 2020-04-05 09:16:12 +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
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
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
4bce90e986 Close 83: Token selection should not insist on name or serial of the token
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.
2019-12-07 13:10:57 +01:00
Christian Hohnstaedt
b362ae3593 Const-ify dbheader in column_data() and getIcon() 2018-04-25 09:34:45 +02:00
Christian Hohnstaedt
b74642fa09 Const-ify QSqlRecord of restoreSql() 2018-04-24 09:34:34 +02:00
Christian Hohnstaedt
6f85548c07 Drop getClassName() 2018-03-30 14:38:09 +02:00
Christian Hohnstaedt
2c20bd109a Constify and Pure-Virtual pki_base and derived classes 2018-03-30 14:38:09 +02:00
Christian Hohnstaedt
6cf72a38e0 Remove superflous function and mark decryptKey as pure virtual 2018-03-30 14:38:09 +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
9cef2415c9 Update slot_label when renaming items on the token or managing the token 2018-03-06 21:28:38 +01:00
Christian Hohnstaedt
dc75fa0171 Add token as item source, minor fixes
Use dynamic cast for sqlSELECTpki()
Fix Double-click links in cert details
2018-03-05 07:46:10 +01:00
Christian Hohnstaedt
e1b982a346 Replace printf by qDebug 2018-03-05 07:46:10 +01:00
Christian Hohnstaedt
431076c90e Change private key encryption in the database to PKCS#8 2018-03-05 07:46:10 +01:00
Christian Hohnstaedt
d50dbbd726 Create indexes 2018-03-05 07:46:10 +01:00
Christian Hohnstaedt
fbde63e98d Add Views and a concept of schema updates 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
Tino Mettler
f0699d055f Fix further spelling errors found by lintian packge checker 2017-10-24 12:15:58 +02:00
Christian Hohnstaedt
dda100c100 OSSL 1.1 vs. 1.0: Private keys 2017-06-19 08:33:29 +02:00
Patrick Monnerat
ad6c2baae5 Add support for OpenSSL 1.1.0
The API changed heavily. New functions arrived, old functions
disappeared and many structures became opaque.

This version of the patch implements pkcs11 signing as follows:
- openssl < 1.0.0: rsa & dsa without engine
- openssl 1.0.x: rsa, dsa & ec with engine
- openssl >= 1.1.0: rsa, dsa & ec without engine

In the operation, we therefore also gain implementation of dsa signing for openssl < 1.0.0 (ec disabled because EC_KEY_METHOD was not yet invented!).

I've given up trying to use a PKEY_ENGINE with openssl 1.1: seems not possible anymore.

I've succeeded compiling the patched xca with openssl 0.9.8n, 1.0.2j and 1.1.0e.
I've successfully tested pkcs11 signing using softhsm with openssl 1.0.2j and 1.1.0e.

The patch also removes gcc7 new warnings.
2017-06-19 08:32:39 +02:00
Christohper Knadle
2f3a1de7ac Fix spelling errors found by lintian packge checker 2016-02-11 09:08:38 +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
1138dad902 SF Bug #102 Weak entropy source used for key generation
On startup use "/dev/random" and "/dev/hwrng"
as additional entropy for the OpenSSL random pool.

Collect mouse position and key press time entropy
for seeding the openssl random pool before generating keys.

When using Smartcards, use the Smartcard RNG
as additional entropy source.
2015-04-06 14:19:10 +02:00
Alon Bar-Lev
6011e0a16b Add more EC conditionals
Upstream bug:
https://sourceforge.net/p/xca/patches/16/
2015-02-19 16:42:30 +01:00
Christian Hohnstaedt
cb6dc4427d SF Feat. Req. #70 ability to search certificates
Add a Search line into the status bar to quickly
limit the view of items to those matching the
wildcard pattern case insensitive.
2014-11-19 09:15:19 +01:00
Christian Hohnstaedt
8aa5141078 Optionally allow hash algos not supported by the token
Especially EC and DSA signatures are only defined
with SHA1 in PKCS#11 v2.20 spec
2014-11-13 20:10:18 +01:00
Christian Hohnstaedt
a97b8f9add Select whether to translate established x509 terms 2014-11-13 20:10:18 +01:00
Christian Hohnstaedt
9321c92f3e DSA add Token keygen for DSA and start DSA token signing 2014-11-12 22:19:43 +01:00
Christian Hohnstaedt
2512a22aa7 Load and store DSA keys on a token 2014-11-12 22:19:43 +01:00
Christian Hohnstaedt
6ee6309e4c Fix EC key export 2014-11-12 22:19:43 +01:00
Christian Hohnstaedt
3e14fdbf66 Implement storing EC Keys on a token
I don't have the hardware to test this...
2014-11-02 10:33:41 +01:00
Christian Hohnstaedt
30ca37a427 Fix Segfault when loading EC keys with unknown curve 2014-11-01 10:03:06 +01:00
Christian Hohnstaedt
fed1a9584a Remove debugging code 2014-10-31 07:21:11 +01:00
Christian Hohnstaedt
8ed9bab7df Support EC key generation on PKCS#11 token
move EC builtin sources into extra class and file
2014-10-31 00:23:39 +01:00
Christian Hohnstaedt
ea832c6654 Refuse signing with ECC token as long as it does not work 2014-10-31 00:17:19 +01:00
Christian Hohnstaedt
baa45e7f62 PKCS#11: Fix reading EC keys from card 2014-10-31 00:17:19 +01:00
Christian Hohnstaedt
9710a78592 First preparation of version 1.0.0
update changelog and documentation
avoid warnings about unused variables
2014-04-11 19:29:46 +02:00
Christian Hohnstaedt
8168ca5181 QMessageBox: protect against HTML parsing
The default message box displays the message as HTML
Don't do that.

Thanks to Artur Czyz (artur_czyz at wp.pl) for finding it.
2014-04-11 19:29:45 +02:00
Christian Hohnstaedt
38ed0b60b5 Update Copyright dates 2012-05-06 11:16:44 +02:00
Christian Hohnstaedt
610a20d1f2 Add x509v3 extensions to the list of selectable columns
Requests and certificates can display the extensions in the table
and be sorted by them.

make the key identifiers display in numerical style
2011-06-21 22:06:39 +02:00
Christian Hohnstaedt
a710c1751f mark public keys and certificates explicit as public 2011-04-30 17:42:56 +02:00
Christian Hohnstaedt
00f1bbb5b3 Make EC parts of XCA depend on OpenSSL config
Some distributions ship an OpenSSL installation without
EC Support.
XCA evaluates the OPENSSL_NO_EC flag to disable EC

Thanks to Andreas Piesk for his patch
2011-01-06 07:01:29 +01:00
Christian Hohnstaedt
05d347743f Show message box when Pin entry via Pinpad is necessary 2010-08-28 16:52:58 +02:00
Christian Hohnstaedt
23ad77b6f0 Support multiple PKCS#11 provider 2010-08-11 23:12:48 +02:00