Commit Graph

2735 Commits

Author SHA1 Message Date
Christian Hohnstaedt
dc81c25670 Windows style changed from windowsvista to modernwindows
Some checks are pending
CMake / build (build/xca-*-Linux.tar.gz, Unix Makefiles, linux, /usr, ubuntu, 5.15.2, ubuntu-latest) (push) Waiting to run
CMake / build (build/xca-*-Linux.tar.gz, Unix Makefiles, linux, /usr, ubuntu, 6.6.2, ubuntu-latest) (push) Waiting to run
CMake / build (build/xca-*.dmg, Unix Makefiles, mac, /opt/homebrew/opt/openssl, macos, 6.6.2, macos-latest) (push) Waiting to run
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) Waiting to run
From 6.6.3 to 6.7.0
Load the correct style depending on the QT version
2024-10-04 16:01:58 +02:00
Ulisses Guedes
0db544c697 Update Brazilian translation 2024-10-04 14:46:16 +02:00
Christian Hohnstaedt
24c0236e29 Sane import-error of encrypted ED25519 keys
qCritical() terminates the application. This was not intended.
Rather print a reasonable error message.
2024-10-03 23:39:18 +02:00
Christian Hohnstaedt
96e455082e Check supported minimum QT version 5.10.1 2024-10-03 13:13:44 +02:00
Christian Hohnstaedt
a8ee4660d6 Close #593: App freezes/crashes when trying to export certain keys
Break an endless loop if the size of the encrypted private key is 0

Also add sanity check when updating the private key
that it has a size > 0. This should not happen, but anyway.
2024-10-03 10:55:32 +02:00
Christian Hohnstaedt
fee6235724 Close #306 #537 Allow Database-driver options in config file
XCA tries to read Database-driver specific options from
configurartion files in the getUserSettingsDir()
named after the driver and the host.
2024-10-03 10:44:54 +02:00
Christian Hohnstaedt
b2869e0152 Close #537: macos: Compile mariadb-connector and qsqlmysql
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
and include them into the app.
This enables Mariadb/Mysql for Mac OSX

Related to #285
2024-10-01 23:20:04 +02:00
Christian Hohnstaedt
a14e045c1a lconvert PO based translations 2024-10-01 21:32:34 +02:00
Slavko
eb05397b9c Update Slovak translation 2024-10-01 21:22:12 +02:00
Christian Hohnstädt
a881eb5e63
Merge pull request #592 from monnerat/french
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
French translation for 2.8.0
2024-10-01 21:15:03 +02:00
Christian Hohnstädt
0f12b06245
Merge pull request #591 from atriwidada/main
Update Indonesian translation
2024-10-01 21:14:49 +02:00
Patrick Monnerat
c1e9f7400e French translation for 2.8.0 2024-10-01 17:30:14 +02:00
Andika Triwidada
d8ff4dda65 Update Indonesian translation 2024-09-30 17:11:44 +00:00
Christian Hohnstaedt
53cbeea783 Close #152: How can we specify the Cryptographic Service Provider
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
A comment line of the format "CSP: <Provider Name>"
in the private key will be used as CSP during PKCS#12 / PFX
export.
2024-09-30 19:07:12 +02:00
Christian Hohnstaedt
1fe2c9907b Remove linebreaks for better visibility
80 Columns width is so '90s
2024-09-30 18:45:08 +02:00
Christian Hohnstaedt
60c9eb5e1b Update shipped openssl libs to 3.3.2
Some checks are pending
CMake / build (build/xca-*-Linux.tar.gz, Unix Makefiles, linux, /usr, ubuntu, 5.15.2, ubuntu-latest) (push) Waiting to run
CMake / build (build/xca-*-Linux.tar.gz, Unix Makefiles, linux, /usr, ubuntu, 6.6.2, ubuntu-latest) (push) Waiting to run
CMake / build (build/xca-*.dmg, Unix Makefiles, mac, /opt/homebrew/opt/openssl, macos, 6.6.2, macos-latest) (push) Waiting to run
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) Waiting to run
2024-09-30 09:11:39 +02:00
Christian Hohnstaedt
7b9d75b97d Close #590: MacOS OpenSSL legacy provider not loaded
Compile-in the legacy module for windows and macos.
I compile the libraries anyway for the releases of those platforms.
2024-09-30 09:05:12 +02:00
Christian Hohnstaedt
2f7403dc44 German translation, finish the unfinished 2024-09-29 23:54:27 +02:00
Christian Hohnstaedt
bec6623b0a Fix minor typo with positional parameter 2024-09-29 23:50:43 +02:00
Christian Hohnstaedt
dbe92cbddb Update german translation 2024-09-29 22:35:01 +02:00
Christian Hohnstaedt
ebafdb028c Update translations
Some checks are pending
CMake / build (build/xca-*-Linux.tar.gz, Unix Makefiles, linux, /usr, ubuntu, 5.15.2, ubuntu-latest) (push) Waiting to run
CMake / build (build/xca-*-Linux.tar.gz, Unix Makefiles, linux, /usr, ubuntu, 6.6.2, ubuntu-latest) (push) Waiting to run
CMake / build (build/xca-*.dmg, Unix Makefiles, mac, /opt/homebrew/opt/openssl, macos, 6.6.2, macos-latest) (push) Waiting to run
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) Waiting to run
2024-09-29 20:48:42 +02:00
Christian Hohnstaedt
ac771d5337 Improve the 'trans' target to print me a reminder
lupdate/cmake-generator < 6.7.0 do not support
the plurals-only file xca_en.ts and will fill it up with all
translations.

Having to use QT>=6.7.0 for translation-update
is actually no burden, I just need to remind myself :-)
2024-09-29 20:44:37 +02:00
Christian Hohnstaedt
a1874055ba Update changelog 2024-09-29 19:21:58 +02:00
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
2bb89cb8c0 Disable Import button when creating a new template
It does not belong there and caused a crash when pressing import and
then OK.
2024-09-29 18:39:00 +02:00
Christian Hohnstaedt
5f4308245c Close #239: Check existing Name Constraints
This check is performed before the certificate is
issued and signed. Like all the other checks
regarding validity, extensions and other things.

Issuing certificates that violate the Name Constraints
of any CA in the chain is still be possible.

But there will be a warning now with the name of the affected
CA-Certificate and the violated constraint.

The Issuer can then decide whether to issue the
certificate or not.
2024-09-29 18:39:00 +02:00
Christian Hohnstaedt
2e7cb9f2b1 Fix uic warning 2024-09-29 14:20:15 +02:00
Christian Hohnstaedt
97a14f2f19 Simplify issuer check and use the OpenSSL function
Apparently, OpenSSL also needs such a check - Surprise.
And they do it slightly more thoroughly - No surprise.
2024-09-29 14:20:15 +02:00
Christian Hohnstaedt
a8ebef92cb Extend Error messages by line and function
Every detail can help
2024-09-29 14:20:00 +02:00
Christian Hohnstaedt
c351612846 Chop the last newline from the hexdump of a bignum
This makes the display nicer in the details dialog
as it was before the refactoring by:
 99283bf6c0e9eb09b4378f734b97ffdcea7e66e8
2024-09-29 14:19:11 +02:00
Christian Hohnstaedt
7d3ff4f0f9 Add OpenSSL PURPOSE and validation results
A new tab on the certificate details dialog
shows the result of the OpenSSL validation process
and the calculated OpenSSL Purpose.

The translation of the OpenSSL X509_V_ERR.... messsages
back to strings is done by grepping them from "openssl/x509_vfy.h"
and wrapping them into a macro-call.
Additionally guard them by an #ifdef (Zombieland rule #2: Double-Tap)
This way:
 - I don't need to test and check in which versions of OpenSSL
   which errors are available or not
 - New errors will be picked up automatically, as long as they
   match the "X509_V_ERR_" pattern
2024-09-29 14:12:17 +02:00
Christian Hohnstaedt
fa10ca43b5 Close #587: Incomplete refactoring of adapt_explicit_subj
Fix the "adapt_explicit_subject" in NewX509.cpp
to mathc the other occcurancxes in Options.cpp
2024-09-28 15:57:05 +02:00
Christian Hohnstaedt
8390e9588f Allow live changes during import of a template
With this change it is not necessary to open an imported
template if an imported tamplate cshall be changed.
2024-09-28 15:57:05 +02:00
Christian Hohnstaedt
006ffef3a1 Fixup for #287 - Templates don't export correctly
Introduced with 7f5bdb7dec

Templates now export again completely and
not only the internal name and comment.

Also protect against an empty internal name
by setting it to "Pasted" as last resort.
2024-09-28 15:57:05 +02:00
Christian Hohnstaedt
2b3f4dd039 Combine #90 and #315 and support UPN in name constraints 2024-09-15 09:25:44 +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
c6304a073d Close #296: Proper plurals
Some checks are pending
CMake / build (build/xca-*-Linux.tar.gz, Unix Makefiles, linux, /usr, ubuntu, 5.15.2, ubuntu-latest) (push) Waiting to run
CMake / build (build/xca-*-Linux.tar.gz, Unix Makefiles, linux, /usr, ubuntu, 6.6.2, ubuntu-latest) (push) Waiting to run
CMake / build (build/xca-*.dmg, Unix Makefiles, mac, /opt/homebrew/opt/openssl, macos, 6.6.2, macos-latest) (push) Waiting to run
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) Waiting to run
Use the provided plural mechanisms of QT.
The "PO" translation also works smoothly and
the translation mechanisms between .po <-> .qt
was tested successfully.

The new english translation file translates
the single phrase:
 "Delete the %n revocation list(s): '%1'?"
into
 "Delete the revocation list: '%1'?" for one item
and
 "Delete the %n revocation lists: '%1'?" otherwise
2024-09-14 10:22:45 +02:00
Christian Hohnstaedt
7376cce5a7 Improve export file / dir validation
- Still ask before overwriting files.
 - Error out if file name exists, but is not a file.
 - Ask to create non-existing directories
 - Check if an expected directory either really
   is a directory or does not exist.
2024-09-14 01:13:18 +02:00
Christian Hohnstaedt
09a2924912 OpenVPN is not PEM 2024-09-14 01:13:18 +02:00
Christian Hohnstaedt
1ac1dc0a71 Extend password write dialogs by the file name
Now the Password dialog for exported items
also shows the file name of the current export
and not only the internal name of the item.
2024-09-14 01:13:18 +02:00
Christian Hohnstaedt
ec3dec0b44 Relates #88: Select a common or individual passwords
When exporting items into encrypted files, the checkbox
"Same encryption password for all items" may be used to enter
one password once for all items.

Otherwise a new password dialog opens for each exported entry.
2024-09-14 01:13:18 +02:00
Christian Hohnstaedt
c806631906 Drop the Password input message for PVK files
Encrypted PVK files are not supported anymore since
39da47c217
So the password dialog messages are also supervlous.
2024-09-14 01:13:18 +02:00
Christian Hohnstaedt
46c1b78577 Close #88: Export to multiple files
Extend the ExportFile dialog by a checkbox to
switch between "all-in-one-file" or every item in a separate
file. It is only visible if more than one file is selected.
Activating the checkbox will:
 - Change the file-input into a directory-input and cut off the
   file name
 - Disabling all formats that are intended for multiple items.
De-activating the checkbox will:
 - Change the directory-input back into a file-input
   and append the previously erased file name again.
 - Disabling all export-formats that are only useful for single items.
2024-09-14 01:13:18 +02:00
Christian Hohnstaedt
71f28ef0e3 Test JWK export
Some checks are pending
CMake / build (build/xca-*-Linux.tar.gz, Unix Makefiles, linux, /usr, ubuntu, 5.15.2, ubuntu-latest) (push) Waiting to run
CMake / build (build/xca-*-Linux.tar.gz, Unix Makefiles, linux, /usr, ubuntu, 6.6.2, ubuntu-latest) (push) Waiting to run
CMake / build (build/xca-*.dmg, Unix Makefiles, mac, /opt/homebrew/opt/openssl, macos, 6.6.2, macos-latest) (push) Waiting to run
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) Waiting to run
2024-09-13 10:41:16 +02:00
Christian Hohnstaedt
28425b6ec4 BioByteArray: add tests for new methods 2024-09-13 10:41:16 +02:00
Christian Hohnstaedt
60aefeac53 Close #313: Support JWK export format of certificates
The "x5t" and "x5t#256" properties are always present.
The "x5c" Certificate chain can be optionally selected.
2024-09-13 10:41:16 +02:00
Christian Hohnstaedt
2e70aa6329 Feature #313: Support JWK sets
When multiple keys are selected, put them all into
one file as a JWK set, which is "keys" array of JWK objects.
2024-09-13 10:41:16 +02:00
Christian Hohnstaedt
778e5c2e3a Feature #313: Add JWK export
Export private and public keys as JWK.
2024-09-13 10:41:16 +02:00
Christian Hohnstaedt
7078853573 Consolidate Bignum2ByteArray conversion implementations
Unify the different implementations of Bignum-to-QByteArray
implementations by our BioByteArray class.

Also support alignment to a minimal bitsize.
2024-09-13 10:41:16 +02:00
Christian Hohnstaedt
a3dd931fb3 Drop unneeded function BNoneLine() 2024-09-10 23:51:47 +02:00