Commit Graph

71 Commits

Author SHA1 Message Date
Christian Hohnstaedt
4b76522d9e Close #199: Templates and Key Identifiers
Extend all 3 templates.
Skip AKID for self-signed certificates.

Visualize this by disabling the AKID checkbox
if a self-signed certificate is going to be created.
2024-09-29 18:39:00 +02:00
Christian Hohnstaedt
cb1f02502d Close #90, #361: Name Constraints (RFC5280 section 4.2.1.10)
Some checks failed
CMake / build (build/xca-*-Linux.tar.gz, Unix Makefiles, linux, /usr, ubuntu, 5.15.2, ubuntu-latest) (push) Has been cancelled
CMake / build (build/xca-*-Linux.tar.gz, Unix Makefiles, linux, /usr, ubuntu, 6.6.2, ubuntu-latest) (push) Has been cancelled
CMake / build (build/xca-*.dmg, Unix Makefiles, mac, /opt/homebrew/opt/openssl, macos, 6.6.2, macos-latest) (push) Has been cancelled
CMake / build (build/xca-*.msi build/xca-portable-*.zip , MinGW Makefiles, windows, D:\msys2\msys64\mingw64, windows, 5.15.2, windows-2019, win64_mingw81) (push) Has been cancelled
Conversion of name constraints from certificate to Template
(Advanced Tab) and using them from there was working since long.

Now there is an additional input line, like (and next to)
SubjectAlternativeName with live validation and edit button
with guided input.

The conversion from cert to template now puts the extension
into the correct LineEdit and not on the Advanced Tab anymore.

However, XCA does NOT follow the constraints, yet.
It is still possible to issue certificates with arbitrary
names, independent of any "Name Constraints" in the CA.

This is what issue #239 asks for.
2024-09-14 23:53:59 +02:00
Christian Hohnstaedt
6a71ea218f Fix "Copy extensions from request" function
Previously the request extensions were ignored
when they also existed on one of the other tabs.

Now they are correctly listed and marked as duplicated.
2024-04-22 19:13:02 +02:00
Christian Hohnstaedt
0c1c00962f Fix whitespace errors 2023-12-30 11:01:11 +01:00
Christian Hohnstaedt
8f277ea781 x509v3_ext: Improve error-checking
Validate SAN, IAN, AIA, CRLDP during rollout.
Fix tab-switching when validating new certificate context.

Also work with X509_EXTENSION being nullptr
2023-05-25 22:18:48 +02:00
Christian Hohnstaedt
ee842feb5e Improve windows compatibility 2022-08-31 00:01:06 +02:00
Christian Hohnstädt
1adcceaa66 Drop OpenSSL backward comatibility for NID_tlsfeature
it was not defined for OpenSSL < 1.1.0
which is not supported anymore anyway.
2021-06-01 17:48:37 +02:00
Christian Hohnstädt
1500e636c8 Drop OpenSSL backward compatibility hacks < 1.1.0
OpenSSL < 1.1.1 is out of support anyway
2021-05-09 12:25:32 +02:00
Christian Hohnstädt
24009b13c7 Fix warnings 2020-10-14 19:48:17 +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
4f1103a64f Close #72: Add checkbox for OCSP staple feature
Also support them in XCA template and transformation from
certificate and request.
2020-03-29 22:23:21 +02:00
Christian Hohnstaedt
c4eb23f2af Close #172 #46: Multiple OCSP Responders
also fixes "#46 AIA, simultaneous OCSP and caIssuers"

Move "OCSP/caIssuers" index from a separate drop down
into the single dropdown of URI/IP/DNS...

This change not only fixes the bug, but also removes some
special handling for the AIA extension.

Adding features by deleting code is highly appreciated :-)
2020-03-20 16:29:43 +01:00
Christian Hohnstaedt
c89b6aff29 Move NID lists for ExtendedKeyUsage and DistinguishedName
into lib/oid.h
2020-03-11 07:19:56 +01:00
Christian Hohnstaedt
2fbadfc9f0 Update Copyright Years to 2020 2020-01-13 07:26:46 +01:00
Christian Hohnstaedt
1ea45c8da4 Constify fload() fromPEM_BIO() fromPEMbyteArray()
Use "BIO_from_QByteArray()" instead of "BIO_new_mem_buf()"

Replace qSort() by std::sort()
Replace QString::null by QString()
2020-01-06 21:30:29 +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
e3c9d7bff8 SF Bug #121 CA serial number is ignored in hierarchical view
Remove Serial number from "Authority Key Identifier"
2018-01-06 13:00:08 +01:00
Christian Hohnstaedt
dda100c100 OSSL 1.1 vs. 1.0: Private keys 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
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
9210df0626 Check Netscape extensions to be IA5 clean 2015-04-04 13:13:49 +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
1ee65645a3 add pathlen only for CA certificates 2010-08-06 19:12:07 +02:00
Christian Hohnstaedt
d1fad54743 Only apply authorityKeyIdentifier if the button is enabled 2010-08-06 08:27:15 +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
766192d61c improve extension to conf functionality
get rid of ext_str_new() and ext_str_free()
use d2i() and XX_free() instead

support for unrecognized extensions as DER stream
improve altName: otherName
Support Bitfields: keyUsage and ns_certType
2010-07-20 21:03:29 +02:00
Christian Hohnstaedt
0ec2462715 improve creating templates from cert
- enhance parsing of CRL-DP, SAN, IAN and AuthInfoAcc
- add support for CertificatePolicies
2010-07-20 07:28:51 +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
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
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
7f3ce42d4d finish certificate to request transformation
- Implement feature request [2213094] and [1108304]
2009-12-05 09:07:04 +01:00
Christian Hohnstaedt
9f900ae6f7 update copyright date to 2009 where appropriate 2009-11-24 17:54:21 +01: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
chris
dd40eb75f4 documentation update 2008-01-27 23:13:55 +01:00
Christian
0d7a35d126 minor improvement 2007-11-26 21:32:55 +01:00
Christian
71afef8472 add validation button to see all extensions before creating the cert. 2007-11-25 19:23:52 +01:00
Christian
57cdbd7ba4 fix typos and nconf extensions 2007-11-23 22:50:45 +01:00
Christian Hohnstaedt
9b8de0581e add Advanced settings tab to support extensions in nconf format (as in openssl.conf) 2007-11-23 21:59:18 +01: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
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
e28e2cc4b2 fix email:copy and issuer:copy for requests 2007-02-12 20:34:19 +01:00
Christian Hohnstaedt
51510e9390 remove sleepycat from licence info
add connects for edit and doubleClick
2006-11-14 23:04:16 +01:00