Commit Graph

51 Commits

Author SHA1 Message Date
Christian Hohnstaedt
1d2a1b18c4 Fix dumping private keys during "Dump database"
If the database password is empty, dumping private keys
resulted in an error message.

Fix this by setting the encryption algorithm to NULL if
the password is empty.

Additionally throw the error after closing the filedescriptor.
2018-01-27 12:52:17 +01:00
Christian Hohnstaedt
27482fc080 Fix Null pointer exception when importing PKCS#12 with OpenSSL 1.1.0
Setting the EVP_PKEY type deletes the key with OpenSSL 1.1.0

Reported by Perederyaev Ivan. Thank you.
2018-01-27 12:48:13 +01:00
Christian Hohnstaedt
ac780d3e77 Fix PEM_BIO loading by using QByteArray instead of BIO and fmemopen 2017-07-15 06:51:37 +02:00
Christian Hohnstaedt
b22d82a3f9 OSSL 1.1 vs. 1.0: Windows support 2017-07-08 06:57:04 +02:00
Christian Hohnstaedt
f7e485393c OSSL 1.1 vs. 1.0: EVP 2017-06-19 08:33:29 +02:00
Christian Hohnstaedt
39c2e86ee0 OSSL 1.1 vs. 1.0: Improve Key generation 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
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
d55eb917e2 Silence compiler warnings about unused parameters 2015-08-11 07:17:56 +02:00
Christian Hohnstaedt
85d2a26aa9 Fix all fopen() calls to always use "wb" or "rb"
fix PKI item autodetection
Fix compiler warning because of a changed OpenSSL 0.9.8/1.0.1
  "PEM_load_bio()" API change
2015-05-20 13:14:21 +02:00
Christian Hohnstaedt
2909e79317 Move entropy functions into new class
Read and write .rnd file during start and exit
2015-04-08 06:54:55 +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
Christian Hohnstaedt
02d7856b74 Update version and copyright year 2015-02-19 09:06:55 +01:00
Christian Hohnstaedt
e69bb319a0 Support importing SSH2 public keys 2015-02-17 19:34:39 +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
30ca37a427 Fix Segfault when loading EC keys with unknown curve 2014-11-01 10:03:06 +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
3cbd020bfc Update copyright notes 2013-11-20 09:32:39 +01:00
Christian Hohnstaedt
0105a2c1b7 SF Bug #82 Certificate Creation out of Spec
Add sha256, sha384 and sha512 when compiling against OpenSSL > 1.0.0
Thanks "dvo" for the patch proposal
2013-11-20 07:41:11 +01: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
722c20a2b4 improve pasting PEM data 2011-04-30 07:53:39 +02:00
Christian Hohnstaedt
b622e64209 consolidate Password and Pin input dialogs
change storage type of passwords from char[] to QByteArray
Create PwDialog class and drop passWrite and passRead
Create Passwd class derived from QBytearray
move PKCS12 password input to PwDialog
2011-04-30 07:53:26 +02:00
Christian Hohnstaedt
84998b6ca3 reduce overlong filenames
Thanks Andreas Piesk
2011-02-02 18:12:38 +01: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
88e0a02155 Close bug [3091576] Private key export is always PKCS#8 encoded
Since OpenSSL 1.0.0 PEM_write_PrivateKey() always
writes a PKCS#8 structure.

PEM Export function PEM_write_PrivateKey() replaced by
PEM_write_#KEY#PrivateKey() depending on the KEY type.
2010-10-26 07:10:26 +02:00
Christian Hohnstaedt
0d9eec9797 drop Openssl 0.9.7 backward compatibility hack 2010-08-19 07:16:51 +02:00
Christian Hohnstaedt
603cc7d9be Improve Columns of all Items Feature Request [849713]
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
2010-07-30 06:54:14 +02:00
Christian Hohnstaedt
fd776644ac improve error messages 2010-07-24 22:17:52 +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
2b91c11d5a improve key import
- support importing encrypted and unencrypted PKCS#8 DER
   formatted keys
2010-05-02 07:09:24 +02:00
Christian Hohnstaedt
984798659c add DH param generation 2010-03-24 08:08:18 +01:00
Christian Hohnstaedt
f1c528fcc9 update copyright information 2010-03-11 07:13:48 +01:00
Christian Hohnstaedt
32a58564f5 use QByteArray for storing encrypted keys 2010-03-08 07:50:12 +01:00
Christian Hohnstaedt
0230061855 replace allocated strings by QByteArray for datastorage 2010-03-08 07:50:08 +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
00eccfe98f add informational messageboxes
- for keys, requests, certificates, crls or templates
 - when successfully created or imported one.
2010-02-23 19:17:44 +01:00
Christian Hohnstaedt
345cdc1083 improve messages and usability
- update german translation
2010-02-21 16:24:00 +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
4b2f6726cc improve error-messages during file load.
- while at it, revamp SPKAC loading
2010-01-28 07:30:52 +01:00
Christian Hohnstaedt
dbad217a9f improve file-dialog handling
- resize columns to fit to the longest entry
 - Ask once if an existing file shall be overwritten
2009-12-06 16:39:17 +01:00
Christian Hohnstaedt
838fb6924d add information to requests, wether they are already signed or not
- look for a certificate with the public key of the request
   to decide whether it is already handled or not.
2009-11-29 12:28:31 +01:00
Christian Hohnstaedt
bd90901c10 change filename handling to support UTF8 names 2009-11-24 19:16:25 +01:00
Christian Hohnstaedt
9f900ae6f7 update copyright date to 2009 where appropriate 2009-11-24 17:54:21 +01:00
Christian Hohnstaedt
42da9ac574 reactivate functionality to change database password
- remove CRTL+X shortcuts from menu
 - change DB pass not via button, but via file-menu.
2009-11-24 17:42:16 +01:00
Christian Hohnstaedt
76913168ed smart card related fixes
- 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
2009-11-04 18:59:55 +01:00
Christian Hohnstaedt
48f59e9d1a support for PIN changes of Smart card tokens. 2009-11-01 19:41:29 +01:00
Christian Hohnstaedt
7fe7a06c7b merge Scard details and key details 2009-10-30 08:18:16 +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
f82aad0c2a add support for Elliptic curve keys 2009-10-28 18:56:44 +01:00