Commit Graph

46 Commits

Author SHA1 Message Date
Christian Hohnstaedt
57802580c8 Drop backward-compatibility for old(<2.0.0) XCA databases 2021-05-10 20:41:12 +02:00
Christian Hohnstaedt
ea453d4336 Encapsulate all BIOs in the BioByteArray class
If we have a QByteArray (ba) and must provide it to
a BIO* expecting OpenSSL function, the following
construct provides it: BioByteArray(ba).ro()
directly providing the QByteArray buffer as BIO

It also supports mixed writes:
  BIO_write(bba, buf, size)
  bba += QByteArray
2020-04-06 22:07:57 +02: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
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
d36e6eb0cb Implement nested transactions.
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.
2018-03-05 07:46:10 +01:00
Christian Hohnstaedt
84f25048a7 Remove xca_db_stat application 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
715b263998 Indicate development and release version by git commit hash
Fix "qmake" build for qt4 and qt5
2018-01-28 11:36:37 +01: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
a8ab54e7ef update INSTALL and INSTALL.qmake doc and xca.pro file
Set -mconsole for xca_db_stat
Improve functionality of xca_db_stat
2014-11-17 21:18:48 +01:00
Christian Hohnstaedt
6e1fad0ee4 Add xca_db_stat for displaying database structure and content 2014-11-16 06:40:55 +01:00
Christian Hohnstaedt
aaf9339eab Database hardening
- Delete invalid items (on demand)
- Be more tolerant against database errors
- Gracefully handle and repair corrupt databases
- Add "db_dump(.exe)" binary to all installations
2014-11-15 23:45:43 +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
0355c9e956 Use g++ instead og gcc as default CC and fix building db_dump 2014-10-30 17:21:19 +01:00
Christian Hohnstaedt
2bc49fe82f Improve Dropping items onto XCA on MAC OSX 2014-04-13 12:11:16 +02:00
Christian Hohnstaedt
72840d483a fix build system 2011-07-07 18:24:18 +02:00
Christian Hohnstaedt
ab28907db7 support building in extra build dir 2011-07-06 23:38:45 +02:00
Christian Hohnstaedt
c432a9eb91 update build-system
avoid partial linking, which seems to break OS X builds

no more opensc for windows. There is an opensc installer
for opensc now.
2011-06-20 05:51:03 +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
23ad77b6f0 Support multiple PKCS#11 provider 2010-08-11 23:12:48 +02:00
Christian Hohnstaedt
e5783553c1 improve renaming items on the token
- use the list-edit functionality in the MultiImport dialog
   instead of an extra pop-up window
2010-05-17 06:51:32 +02:00
Christian Hohnstaedt
670c45e268 Update translation and messages
- 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
2010-05-17 06:51:24 +02:00
Christian Hohnstaedt
345cdc1083 improve messages and usability
- update german translation
2010-02-21 16:24:00 +01:00
Christian Hohnstaedt
f802de1db5 catch errors during card import
- improve reading of CKA_ID and support CKA_IDs longer than 1 byte
 - lib/Makefile pki_base has no Q_OBJECT
2009-11-12 08:14:15 +01:00
Christian Hohnstaedt
48f59e9d1a support for PIN changes of Smart card tokens. 2009-11-01 19:41:29 +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
4ed20f5819 add pki_multi for multiple pki items. 2007-08-23 18:57:22 +02:00
Christian
f0d0dec7f3 define the background colour of the clicklabel
to assure it is always readable.
Bug [ 1704699 ]
2007-04-30 09:40:04 +02:00
Christian
7c81b45307 use QFile for database instead of native functions
Fix fonts
2006-11-19 14:23:07 +01:00
Christian
3db4306bc6 add import of old database 2006-06-08 23:17:20 +02:00
Christian
02770d8367 Database exploration 2006-05-20 11:24:15 +02:00
chris2511
104530485e Add multiimport and CRLs 2006-05-17 21:11:16 +00: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
c6622680db push forward to QT4 2006-03-12 17:39:52 +00:00
chris2511
b4fa72433e search more intensive for the CRL signer, add /etc/xca/nid.txt
to OID search path
2004-02-18 00:03:02 +00:00
chris2511
55b01dcd1d repair Makefiles to hardcode the object names
init_database after we know the filename
2003-11-24 09:04:11 +00:00
chris2511
1d1f4065ea New configure added, Makefile.in's purged and one configuration:
Local.mak for flags and compilers.
2003-10-13 09:01:21 +00:00
chris
50df3e085b changed to autoconf 2002-07-18 19:09:32 +00:00
chris
f089fb1f4b more translation
pkcs12 export added
2002-07-17 23:52:49 +00:00
chris
a782c37b8f Signatures can be done with requests and from scratch,
Certificate for signing can be self or foreign,
password is saved as md5sum,
bugs in displaying requests in list, and showing their keys solved
same with certs
2002-07-13 20:57:50 +00:00
chris
cf347d7d4a removed changes of yesterday
all data is loaded in containers on startup
2002-07-10 00:21:45 +00:00
chris
b09bd2db08 added rough x509 cert handling 2002-03-05 22:31:49 +00:00
chris
3ae32ae24b links to the libraries in "lib/"
works but crashes, because of string::data() w/o '\0'
Hint: on linker cmdline mention first the .o and then .a
2002-02-28 23:57:26 +00:00
chris
eaf49ba9de library almost ready.... 2002-02-27 23:08:24 +00:00
chris
38a600daf6 The new libraries libpki.a and libxcadb.a 2002-02-27 00:39:41 +00:00