Commit Graph

226 Commits

Author SHA1 Message Date
Christian Hohnstaedt
40b6a00840 Retranslate Searchbox placeholder text when switching language 2018-03-31 07:42:48 +02:00
Christian Hohnstaedt
ac02da8631 Fix opening, importing and dropping databases 2018-03-15 21:48:53 +01:00
Christian Hohnstaedt
ff25461d7a Fix legacy database-without-password import 2018-03-12 16:01:57 +01:00
Christian Hohnstaedt
421ab5840a Minor bugfixes: PostgeSQL does not like setting an integer to "true"
Display renamed request in the NewX509 dialog correctly in the dropdown
2018-03-10 10:45:03 +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
484eca6f39 Simplify Index file creation and document it. 2018-03-08 06:15:28 +01:00
Christian Hohnstaedt
c62339e1ce Adapt Certificate Index creation to the new database capabilities 2018-03-07 23:00:58 +01:00
Christian Hohnstaedt
21bd5f0ee4 Support Remote database name on the commandline 2018-03-05 07:46:11 +01:00
Christian Hohnstaedt
6dcac9d571 Fix password query during database opening 2018-03-05 07:46:11 +01:00
Christian Hohnstaedt
84e4301f6d Tell the user if the SqLite driver is missing 2018-03-05 07:46:10 +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
24d1f85a26 Make use of C++ templates for more type-safety 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
e1b982a346 Replace printf by qDebug 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
2a0a4630ae Extend authority table and fix CaProperties 2018-03-05 07:46:09 +01:00
Christian Hohnstaedt
4598ddb4de Convert QByteArray.base64() to QString before writing it to the DB 2018-03-05 07:46:09 +01:00
Christian Hohnstaedt
a75eb6ebd8 Avoid LastInsertID 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
eb6382d6aa Remove SPKAC support. Netscape is not of this world anymore.
I discovered some bugs in SPKAC handling and fixing them was hard.
Because of this bugs noone may have used the feature in the past.

Remove it.
2018-02-13 11:47:21 +01:00
Christian Hohnstaedt
3f35cdccf8 Cleanup the OID text files, remove senseless aia.txt
- Remove all aia.txt from the Code, Documentation and ToolTip
- Add an Operating system dependent help hint
- Replace unix LF by DOS CR-LF for windows installation
2018-02-01 00:05:40 +01:00
Christian Hohnstaedt
0ba41583fb SF Bug #109 Revoked.png isn't a valid image
It was unused and did not harm. No functional/optical impact.

Delete image and all ist references
2018-01-06 21:17:15 +01:00
Christian Hohnstaedt
5409a71624 Fix starting xca with a database as first arg: "xca db.xdb"
This is used when double clicking a database.
2018-01-06 08:17:01 +01:00
Christian Hohnstaedt
2bced828de Translation: Re-translate the OID resolver in case of a language change 2017-11-17 09:06:56 +01:00
Patrick Monnerat
f4f1c72173 Silence a gcc7 warning (-Wimplicit-fallthrough) 2017-11-14 21:50:58 +01:00
Christian Hohnstaedt
f9f6647738 Add Placeholder text "Search" to th search input at the bottom
Users asked how to search for items and it became clear that the use of
the input field is not clear enough.
2017-10-25 10:17:51 +02:00
Christian Hohnstaedt
cefb140601 Switch to Qt5 for Windows build and installation
Don't depend on htonl() and friends to avoid lwsock32
Fixup WIN32 define to use the Qt definition
2017-07-17 09:27:46 +02:00
Christian Hohnstaedt
f12c3ca8aa Improve Copy&Paste behavior: Accept Ctrl-V and MousePaste on MainWindow 2017-07-15 06:51:37 +02: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
5fbd102493 Fix for MacOS X builds 2017-07-15 06:51:37 +02:00
Christian Hohnstaedt
d14b3bf5ed OSSL 1.1: Windows does not know "fmemopen()" 2017-06-19 09:52:33 +02:00
Christian Hohnstaedt
9d2ed957dd OSSL 1.1 vs. 1.0: Purge BIO_QBA_mem_buf() 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
Adam Dawidowski
0d34bc1c1c Extend generating an OpenSSL "index.txt"
Updated patch adds another export option automating the creation
of multiple index.txt files to be used with multiple ocsp responders.

New export option is available via command line (-I index.txt) and
the Extras menu (Extra->Export Certificate Index hierarchy).

The option causes the creation of an index.txt file containing
index records for all the children certificates of a parent.
The filenames are generated using the supplied name as prefix
and append a dot and the simplified Internal Name
(the Internal Name stripped of non-alphanumeric characters except underscores).
2016-09-06 20:03:55 +02:00
PF4Public
c0130feafa Some pedantic edits 2016-04-09 06:40:39 +02:00
Adam Dawidowski
e94e9133b1 Support generating an OpenSSL "index.txt"
XCA currently lacks support for generating an index.txt.
Such a file gets created and maintained when using CA
features in openssl. As mentioned here:
https://sourceforge.net/p/xca/discussion/209946/thread/6cbc727c/#2310
such a file can be used by Openssl's built-in OCSP responder.
Additionally, it can be used for configuring a cron job for
reminding of certificate expiration.

Certificate index export is added in 3 places:
 - command line (-i index.txt),
 - the Extras menu (Extra->Export Certificate Index) and
 - the selected file(s) export option in the context menu
   on the Certificates tab (Export->File, Export Format:
    Certificate Index file).

Please note that SubjectDN generated by this feature has
different formatting than the one generated by openssl.
2016-04-09 06:40:39 +02:00
Christian Hohnstaedt
fa38a21a04 Merge Release 1.3.2 based fixes from Tino Mettler and Christohper Knadle 2016-02-11 09:09:51 +01:00
Christohper Knadle
2f3a1de7ac Fix spelling errors found by lintian packge checker 2016-02-11 09:08:38 +01:00
Christian Hohnstaedt
735a74f873 On unix use the default clipboard and mouse-selection for export 2016-01-16 07:34:21 +01:00
Christian Hohnstaedt
6ac9389361 Make OID resolver Non-modal and let other widgets display details
- column items with context menus
 - double-click labels of the DN and X509v3 extensions
2015-10-01 13:39:11 +02:00
Christian Hohnstaedt
78e4207f2e Fix database password change on Windows
Reimplementing the simple unix "mv" command on Windows is PITA!

Renaming an open file -> Error!
Renaming to an existing file -> Error!
Atomicity: No
2015-09-23 10:42:05 +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
29543979e9 Refine export dialog, seed prng berfore DH parameter generation 2015-07-04 05:48:11 +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
5f2b3fd63a Change wording 2015-05-19 13:21:28 +02:00
Christian Hohnstaedt
1aab8f1fe9 Fix database password change function 2015-05-19 11:13:47 +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
90f351b2cb Refactor CRL handling 2015-04-20 18:25:59 +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