Commit Graph

173 Commits

Author SHA1 Message Date
Christian Hohnstaedt
24d1f85a26 Make use of C++ templates for more type-safety 2018-03-05 07:46:10 +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
a3900b1473 Several fixes for templates, key encryption etc. 2018-03-05 07:46:10 +01:00
Christian Hohnstaedt
3f016c62e7 Fix minor problems during db open and key import 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
fc7fc357ac Support opening remote databases MySQL and PostgreSQL 2018-03-05 07:46:10 +01:00
Christian Hohnstaedt
e624743494 Add PKI Source: generated, imported, transformed 2018-03-05 07:46:09 +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
eaabb2a28d SF Bug #110 Exported private key from 4096 bit SSH key is wrong
Actually, it just differs. It is PKCS#8 instead of PKCS#1
2018-01-06 21:18:31 +01: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
279a6f3fdb Update translation 2015-05-19 06:15:38 +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
67d270b9ae Consolidate Export dialogs 2015-04-06 00:04:35 +02:00
Christian Hohnstaedt
02d7856b74 Update version and copyright year 2015-02-19 09:06:55 +01:00
Christian Hohnstaedt
cde1293ae9 Improve table font.
- Use "Courier" as monospaced font for all columns
- Allow changing the font size by STRG +/-

Update changelog
2015-02-19 08:11:23 +01:00
Christian Hohnstaedt
8852b7c2ba Support exporting public key in SSH2 format 2015-02-17 21:03:00 +01:00
Christian Hohnstaedt
a88b86ad9d Select the translation language via File menu 2014-11-20 20:14:25 +01:00
Christian Hohnstaedt
82bb0e9f33 Translate header and tooltips 2014-11-14 09:27:39 +01:00
Christian Hohnstaedt
40f33d37f0 SF Feat. Req. #76 Export private keys to clipboard
Before exporting the private key an acknowledge is
required. Here you may opt to only export the public key.

While at it, display the internal Name in export dialogs
2014-11-01 18:51:39 +01:00
Christian Hohnstaedt
928b70b683 EC Keys: show Curve name in table 2014-10-31 22:25:46 +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
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
df78e4380e SF Bug #87: Unable to set default key length
Added a "Remember as default" checkbox to the key input dialog.
The default key size is now 2048 for RSA and DSA keys.
2014-04-11 19:29:45 +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
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
58a5557f96 don't allow duplicate key names 2010-08-19 18:36:42 +02:00
Christian Hohnstaedt
23ad77b6f0 Support multiple PKCS#11 provider 2010-08-11 23:12:48 +02:00
Christian Hohnstaedt
5383c8c43f Consolidate export dialogs 2010-08-07 13:40:25 +02:00
Christian Hohnstaedt
3a92d46362 fix crash during item-import
replace reference to the view by signals/slots
2010-08-05 07:22:00 +02:00
Christian Hohnstaedt
ced687be5b Improve column handling
right-align numeric columns and make them monospaced.
Save their current state in the database.
Also add column-menu to the other context menu

fix minor bugs

Support for "Unstructured Name" and "challange password" columns
	in the request-table
Support for name hash as used by OpenSSL to lookup certs.
	As table column and as distinguished name information
2010-08-01 06:50:49 +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
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
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
f1c528fcc9 update copyright information 2010-03-11 07:13:48 +01:00
Christian Hohnstaedt
138f107913 improve key to token storage
- fix memory leak in case of an error while
   copying a private key onto a token
 - report proper error messages in case of non-RSA key or
   aborted PIN input
2010-02-28 18:33:49 +01:00
Christian Hohnstaedt
59f99fb33c allow certificates to be written to any token
- consolidate token-select dialog

 - update changelog
2010-02-24 21:04:52 +01:00
Christian Hohnstaedt
2b38e53cc3 add CKA_ID to stored certificates
- extend ID from 4 to 8 bytes
 - remove some debugging code
 - enable and test PIN and PUK changing
2010-02-24 00:51:40 +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
fe8c2c2660 improve filename handling for databases
- allow "umlauts" and other non ASCII char in database filenames
   using the OS dependent handling QString2filename, using
   8Bit codepage encoding on Windows and UTF8 on linux and OS X
2009-11-25 09:06:22 +01:00
Christian Hohnstaedt
44e17ae9da minor fixes:
- remove debugging code
 - allow DOCDIR to be different from PREFIX
2009-11-24 17:41:57 +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 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
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
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
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
1866f49b55 minimum keysize 1024 bit 2009-09-05 11:55:57 +02: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
5045a96888 more testing 2007-08-21 21:08:10 +00: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
0ee1de2b3b More options 2007-05-16 00:10:30 +02:00
Christian
eefbf7efde Merge branch 'qmake'
Conflicts:

	lib/func.cpp
	lib/func.h
	lib/pki_base.h
	lib/pki_x509super.h
2007-04-29 23:57:57 +02:00
Christian
c2018c0e58 - fix segfault
- switch string handling to UTF8
2007-04-29 18:48:17 +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
d701024e31 changes to change to qmake 2007-04-09 15:58:41 +02:00
Christian Hohnstaedt
6ef29e0761 remove deletition and readding of rootitem
readd templates known from earlier XCA versions,
but more flexible.
2007-02-06 13:01:53 +01:00
Christian
612415a422 fix default pathname setting
add clicklabel for request key
remove debugging output
2007-01-31 01:09:19 +01:00
Christian
e7b96a4245 fix click-label functionality
unify showItem()
fix NewX509.ui
2007-01-29 23:10:58 +01:00
Christian
fd7d05dc65 fix default extension of templates to be xca
remove unneeded printfs
2007-01-04 23:57:15 +01:00
Christian Hohnstaedt
b98569e169 Switch to static QFileDialog functions
to call the native dialogs on windows an Mac OS
2006-12-21 16:18:54 +01:00
Christian
5ff712e419 Fix status message
Fix Tree/plain view
Fix decryption of keys
2006-12-19 23:00:44 +01:00
Christian Hohnstaedt
ee08c20214 Fix Public key issues
- don't show password change in menu
 - show "No password" in list
 - decrypt key by copying the Public

Fix multi-import and don't abort on error
2006-12-08 17:12:51 +01:00
Christian
2512cc4392 documentation and key export updates 2006-12-04 07:41:49 +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
9a6a1169b6 replace spaces by underscores for filenames
remove the whole baseDir thing, needed for Berkeley DB
minor fixes and cleanup
don't install the *.png on windows
2006-11-23 18:18:34 +01:00
Christian
d147841f39 minor changes in COPYRIGHT
fix database dump
extend Cert and key  export possibilities
enhance autoIntName and req and cert loading
fix ImportMulti->details
erase default password on database close
2006-11-22 00:09:16 +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
dae20bc28e Fix Password input and key encryption
Add CA properties
2006-06-05 23:14:38 +02: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
b9278c547f more QT4 2006-03-22 22:57:08 +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
462eac83a3 certificates for QT4 2006-03-12 23:57:24 +00:00
chris2511
c6622680db push forward to QT4 2006-03-12 17:39:52 +00:00
chris2511
0091853a73 changes in building,
DSA keys
key format in database changed to contain the public key and
the private one in encrypted form.
2005-02-07 21:56:21 +00:00
chris2511
a9a34847c2 "Authority info Access" enhanced
"aia.txt" as oid list added
2004-04-14 23:36:54 +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
chris2511
f3f3437170 insert moved to db 2003-07-25 05:54:58 +00:00
chris2511
fe46ff670f all strings replaced by QString 2003-06-18 16:04:26 +00:00
chris2511
0fd13a3875 moved common functions to super classes 2003-06-16 09:04:55 +00:00
chris2511
81d9b962a4 grosse Baustelle 2003-06-12 20:23:45 +00:00
chris2511
c28942cd7c works with db-4.1.24 now 2003-02-03 14:06:11 +00:00
chris
9f650fff0c bugs removed 2003-01-06 19:35:46 +00:00
chris
e2ece96256 PKCS7 signing works
sed s/string/std::string/g
2002-12-16 20:28:17 +00:00