Commit Graph

197 Commits

Author SHA1 Message Date
Christian Hohnstaedt
22966937de Close #36: Support adding CN to X509v3 SAN automatically
Translate the special text "DNS:copycn" in the SAN to
the final common name.

Add checkobox "Copy Common Name" to the SAN Edit box,
for a user-friendly editing of the "DNS:copycn"

During certificate creation, an empty common name together with
"DNS:copycn" in the SAN will raise a warning message and the
opportunity to change the settings.

Change the SAN in the HTTP-server XCA template from
"DNS:your.server.name.here" to "DNS:copycn" to already
take advantage of this feature in the default template.
2018-05-19 22:14:08 +02:00
Christian Hohnstaedt
7c4be863f1 Constify x509name and use getMostPopular() when filling the internal name 2018-03-30 14:38:09 +02:00
Christian Hohnstaedt
820278014b Closes #10: Warn if certificate without any extension is created
Don't warn on requests or templates without extensions.
2018-03-19 17:28:07 +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
4288aafe92 Improve automatic commenting actions 2018-03-07 20:51:46 +01:00
Christian Hohnstaedt
e6c92ce890 Improve transactions, fix CA template and CRLdays import
Make ItemCombo a template class
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
07594d1edd Rebase on master 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
fe6062f16e No more increasing serials. Only random serials. 2018-03-05 07:46:09 +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
263ed5c101 Fixup for 'Beautify mandatory distinguished name entriy errors'
... which resulted in an error message when creating certificates
about a mandatory subject field 'undefined'

Because QString("").split(",").count() == 1 ????
2018-03-01 22:50:56 +01:00
Christian Hohnstaedt
5189bd08af Beautify mandatory distinguished name entriy errors 2018-02-23 09:16:19 +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
1ae80c1af7 Do not apply the default template when creating a similar cert 2017-07-12 19:35:21 +02: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
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
fe969553c3 Don't validate notBefore and notAfter if they are disabled. 2015-09-17 13:02:48 +02:00
Christian Hohnstaedt
698c10216f Add option for disabling the very very legacy Netscape extensions
Maybe this setting will become the default in future releases....
2015-04-09 18:49:03 +02:00
Christian Hohnstaedt
58bf2816c2 Also support creating similar requests 2015-04-04 13:13:49 +02:00
Christian Hohnstaedt
595300617f SF Feat. Req. #80 Create new certificate, based on existing certificate 2015-04-03 14:52:39 +02:00
Christian Hohnstaedt
b131e1d293 Consolidate more "established x509 terms"
like basic constraints, key usage and netscape-thingies
2014-11-14 22:54:35 +01:00
Christian Hohnstaedt
0ac34f6812 More translation code (x509 terms) 2014-11-14 09:27:39 +01:00
Christian Hohnstaedt
82bb0e9f33 Translate header and tooltips 2014-11-14 09:27:39 +01:00
Christian Hohnstaedt
a97b8f9add Select whether to translate established x509 terms 2014-11-13 20:10:18 +01:00
Christian Hohnstaedt
dcd940b6b8 SF Feat. Req. #57 More options for Distinguished Name
Make explicit DN subject entries configurable
per database.
2014-11-12 22:19:44 +01:00
Christian Hohnstaedt
1f61d8d760 Make 2 missed phrases translateable 2014-11-01 19:11:41 +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
4d13fceb3c SF Bug #75 authorityInfoAccess set error
Fix display error OCSP / CA Issuers
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
aebc916a7b Overwite extensions from the PKCS#10 request by local extensions
Also avoid error message if a request is self-signed
and no unused key is available, but the private key of the request
is available.
2013-11-22 00:18:16 +01:00
Christian Hohnstaedt
38ed0b60b5 Update Copyright dates 2012-05-06 11:16:44 +02:00
Christian Hohnstaedt
a9b5caa0bc Bug #3461403 Error when create certificate with CRL distribution point
become more userfriendly:
 - by indicating the validity with an appropriate
   icon in front of AIA, SAN IAN and CDP.

 - by checking the validity before creating the real certificate.

 - by improving the edit button, to automatically add an "URI"
   as type, if the type is missing, or is for example "http"
2012-04-01 12:41:43 +02:00
Christian Hohnstaedt
04c704b88f Fix bug [ 3314262 ] Incorrect "Path length" template parameter handling
add special handling of an empty path
when saving the template from NewX509 dialog.
2011-06-11 06:38:33 +02:00
Christian Hohnstaedt
cd4465c46a allow editing templates
don't look at the key when rditing templates
2010-08-26 23:43:26 +02:00
Christian Hohnstaedt
fcc4d4f63c enhance kvView
- allow flexible column count instead of fixed 2 columns
- allow lineEdits and Dropdowns on different columns
2010-07-27 06:53:09 +02:00
Christian Hohnstaedt
d3f3ca29a3 first correct dates, then check whether they are exchanged 2010-07-22 23:33:31 +02:00
Christian Hohnstaedt
9085ecbd4e More support for public keys
Extract public key from cert and request
Show public keys in requests- and cert-details in red
Allow using public keys for certs. Useful if not selfsigning
2010-07-22 06:57:32 +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
1c21bd8882 handle DistinguishedName entry length violations more userfriendly
previously violating stringlen constraints stated in RFC3280
was a hard error. Now it triggers a warning, that can be ignored.
2010-07-16 18:14:23 +02:00
Christian Hohnstaedt
ac371b697a improve date and time input
- Only once set notBefore to "now" when creating Cert-renewal
  or NewCert dialog.

- Apply-time button now always uses the current value from notBefore
  and adds the time-span without resetting notBefore

- Checking "midnight" now immediately modifies the dates.
  Unchecking "midnight" now recovers the old value

- The seconds are always set to 00, since they can't be set via
  the DateTime dialog anyway

- CRL generation now too allows to use midnight and time ranges
  and uses GENERALIZED time if the date is out of range for UTCTIME
  (same logic as for certificates)
2010-07-14 20:54:59 +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
4df5c8a8dd kvView: accept new keys which are not in the keylist, yet 2010-05-13 09:21:52 +02:00
Christian Hohnstaedt
681c46bb71 minor changes
- fix doc-errors
 - Make "Create" the default in the new key dialog
 - do not disable template selection, when creating a cert from
   a template
2010-04-15 06:34:07 +02:00
Christian Hohnstaedt
02de3bfb8c improve advanced extensions and cert2template functionality
- if subAltName, issAltName or crlDist contain commas, put them
   on the advanced tab
 - regard critical flag for the extensions above
2010-03-14 09:34:25 +01:00
Christian Hohnstaedt
f1c528fcc9 update copyright information 2010-03-11 07:13:48 +01:00
Christian Hohnstaedt
0230061855 replace allocated strings by QByteArray for datastorage 2010-03-08 07:50:08 +01:00
Christian Hohnstaedt
b02b25b168 fix initToken 2010-03-01 08:22:50 +01:00
Christian Hohnstaedt
01fa5628ed improve key-value input
- add input validators
 - add information about valid characters and length
 - add translations
 - untranslate X509 specific expressions
 - add 'critical' checkbox to SAN IAN AIA CDP edit box
2010-02-27 09:20:47 +01:00
Christian Hohnstaedt
7e5a8001f4 fix tab-selection for errors
- in case of an error during certificate/template/request generation
   now the correct tab containing the error is selected
2010-02-26 08:15:52 +01:00
Christian Hohnstaedt
d1f2b1cdba improve key-value tables
for "additional DN entries" and "SAN/CDP/AIA edit-boxes":
 - make type-selection a combobox
 - make rows reorderable
2010-02-26 08:14:54 +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
6f5e1da5b6 apply partial template-contents
- applying the subject only or the extensions only is possible
   via different buttons.
   This way a name-template can be created and combined with an
   extension-only-template like HTTPS_client.
2010-02-24 08:07:22 +01:00
Christian Hohnstaedt
667ec86a1e only check signer dates if there is a signer 2010-02-23 20:17:57 +01:00
Christian Hohnstaedt
03c9fbb6c0 add old names of DN entities as tooltip
- to stay a little backward-compatible. They will be translated.
2010-02-23 08:18:30 +01:00
Christian Hohnstaedt
345cdc1083 improve messages and usability
- update german translation
2010-02-21 16:24:00 +01:00
Christian Hohnstaedt
76a1a2286c reduce pathLen to numbers 2009-12-07 09:22:53 +01:00
Christian Hohnstaedt
e293eb1f4f support for pathlen of 0 2009-12-06 17:50:06 +01:00
Christian Hohnstaedt
0ea0d1d53a also create template from requests
- fix artefacts regarding template-from-cert functionality
2009-12-05 16:00:26 +01:00
Christian Hohnstaedt
7f3ce42d4d finish certificate to request transformation
- Implement feature request [2213094] and [1108304]
2009-12-05 09:07:04 +01:00
Christian Hohnstaedt
205fa72305 extend templates
- they now contain the not-well-defined information
2009-11-27 07:35:17 +01:00
Christian Hohnstaedt
9f900ae6f7 update copyright date to 2009 where appropriate 2009-11-24 17:54:21 +01:00
Christian Hohnstaedt
467295e8ca add the "no well-defined date" from RFC 5280 as checkbox 2009-11-16 18:27:21 +01:00
Christian Hohnstaedt
d1156d69c6 usability
- disable key selection if the subject of a request is modified
   during certificate rollout from a PKCS#10 request.
2009-11-10 09:34: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
f82aad0c2a add support for Elliptic curve keys 2009-10-28 18:56:44 +01:00
Christian Hohnstaedt
51a134626a fix initial time settings in NewX509 dialog 2009-09-10 07:58:39 +02:00
Christian Hohnstaedt
9ac65605f7 support modifying the CRL subject during signing 2009-09-05 11:55:57 +02:00
Christian Hohnstaedt
356cab3401 check for duplicate x509 v3 extensions
- while taking extensions from the request, the advanced tab
   and the other tabs, extensions may be duplicated.

   They will be now diplayed in
   detail and duplicates are found and shown clearly.
   Warning message will allow for modifications.

 - Fixes
    [ 1881482 ] Copy extensions from request seems to fail
    [ 1998815 ] xca adds basic constraint "CA" twice resulting in invalid CA
2009-03-03 21:52:32 +01:00
chris
d1524a44d7 fix auth key id
- Fix: [ 2342561 ] Checkbox disabled in template dialog
 - Fix: [ 2088468 ] Create self signed w. ext."Authority Key Identifier" fails

 - Start fixing
    1998815: xca adds basic constraint "CA" twice resulting in invalid CA
2009-02-26 08:09:55 +01:00
Christian Hohnstaedt
b6df33e097 SF: [ 1881482 ] Copy extensions from request seems to fail
- additionally show PKCS#10 extensions on advanced tab
2008-01-30 18:32:34 +01: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 Hohnstaedt
9f0aab7b79 Add advanced extension text to the template
- add donator info
 - extend template format
 - rename X-CA to XCA in the desktop file
2007-12-21 12:53:26 +01:00
Christian Hohnstaedt
2299d2b59c avoid some compiler warnings and make qmake build work again. 2007-11-28 09:18:25 +01:00
Christian
0d7a35d126 minor improvement 2007-11-26 21:32:55 +01:00
Christian Hohnstaedt
8b4838d5d8 put error messages of extensions into the advanced tab 2007-11-26 18:57:47 +01:00
Christian
71afef8472 add validation button to see all extensions before creating the cert. 2007-11-25 19:23:52 +01:00
Christian Hohnstaedt
deec9eb993 Minor changes
- Add predefined templates to the list of templates
 - fix extension duplication bug in post 0.6.3 release
 - change Password dialog text properties
 - remove unused/duplicate code in lib/pki_key.cpp
2007-08-13 13:53:30 +02: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
0195dcf746 Request attributes added
- remove extension and attribute tab in details dialog if
   no extensions or attributes available
 - documentation updated
   X509 request attributes (like challange password) can be set and viewed.
2007-05-28 16:33:13 +02:00
Christian
91e4e78cef Add options dialog to set the default hash algo,
mandatory distinguished name entries and allow duplicate key use
as requested by some users.
show CRL signature alg information

Version 0.6.3
2007-05-20 10:05:10 +02:00
Christian
b0b9cd1d00 Add options dialog, not done yet...
unfy hashAlgo handling (hashBox)
2007-05-13 20:09:45 +02:00
Christian
34227bf680 fix some warnings 2007-04-25 20:12:24 +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 Hohnstaedt
d871453d3a forgot to add the string in iss.alt.name 2007-02-14 12:58:58 +01:00
Christian Hohnstaedt
e28e2cc4b2 fix email:copy and issuer:copy for requests 2007-02-12 20:34:19 +01:00
Christian Hohnstaedt
513354d301 ifdef out the QA serial things
move the hash algo outside of the signing box to
keep it enabled for ´request generation.
2007-02-12 10:49:32 +01:00
Christian
c35ec0d23a - move hash algo into signer box [ 1656260 ]
- make QA serial a compile time option
 - fix and enable QA serial
 - code styling
2007-02-11 12:39:09 +01:00
Christian
72779569e9 remove debugging code
fix spelling errors
check certificate validity times
add donators entry
2007-02-08 23:57:19 +01:00
Christian Hohnstaedt
5aa171ee2a fix date generation and warn if generalized time is used 2007-02-08 18:08:08 +01:00
Christian Hohnstaedt
92fd146450 Fix order of X509Name entries
remove debugging output
add template "duplicate" functionality
minor optical changes
remove superflous template properties
2007-01-31 12:53:29 +01:00
Christian
7d76d2069c more documentation 2007-01-29 17:59:44 +01:00
Christian
fd7d05dc65 fix default extension of templates to be xca
remove unneeded printfs
2007-01-04 23:57:15 +01:00
Christian
2a7b6e242f fix x509name list in NewX509.ui
make Extensions readonly
2006-12-20 23:51:07 +01:00
Christian
023ceadd36 fix Bug [ 1166075 ] serial numbers don't sort numerically
Add import submenu
preset selected certificate forn signing in NewCert dialog
fix Request-selection in NewX509
2006-12-08 00:17:28 +01:00
Christian Hohnstaedt
17457bc8f0 fix multiple certificate export 2006-11-22 18:44:01 +01:00