X Certificate and Key management
Go to file
Christian Hohnstaedt 7f5bdb7dec Close #287: template don't save/restore correctly
Use the probably modified internal name of the template
in the template-details dialog before import.

Therefore the name of the qlineedit of the internal name of
all other details dialogs changed from "descr" to "description"
to match the name in the NewX509 dialog and to be found
by the "XcaDetails" class.

When exporting the template data, add the internal name and the comment
to the exported data.
The XCA template data is defined by us and can be modified.
This change is backwards and upwards compatible:
  New versions of XCA can read an old Template export and vice-versa.
2024-08-31 14:48:43 +02:00
.github/workflows Trigger build on PR 2024-08-21 10:20:41 +02:00
cmake Add support for Qt6 2022-08-31 00:09:37 +02:00
doc Automatically generate documentation of export formats 2024-08-30 09:30:42 +02:00
img Extend linux app images by 128 and 256 bit PNG 2024-08-20 11:03:27 +02:00
lang Update croatian translation 2024-08-25 23:32:00 +02:00
lib Close #287: template don't save/restore correctly 2024-08-31 14:48:43 +02:00
misc Prepare XCA 2.7.0 2024-08-27 23:26:16 +02:00
release Release XCA 2.7.0 done 2024-08-27 23:51:21 +02:00
test Export-Test: put all export-data into a sub-directory 2024-08-30 22:17:52 +02:00
ui Close #287: template don't save/restore correctly 2024-08-31 14:48:43 +02:00
widgets Close #287: template don't save/restore correctly 2024-08-31 14:48:43 +02:00
xcf Add first shot of installer dialog Image 2020-01-21 21:34:31 +01:00
.gitignore Switch from autotools/qmake to cmake 2021-06-01 17:48:37 +02:00
AUTHORS Justify list of authors 2015-08-11 07:31:51 +02:00
changelog Prepare XCA 2.7.0 2024-08-27 23:26:16 +02:00
CMakeLists.txt Automatically generate documentation of export formats 2024-08-30 09:30:42 +02:00
COPYRIGHT Update copyright years 2024-02-14 22:33:18 +01:00
Dockerfile Set userid at container startup rather than build time. Update documentation on container invocation and usage with SSH-X-forwarding. 2024-02-22 18:31:58 +01:00
INSTALL.docker Set userid at container startup rather than build time. Update documentation on container invocation and usage with SSH-X-forwarding. 2024-02-22 18:31:58 +01:00
local.h.in Close #304 oids.txt not found etc if prefix non-standard 2024-08-25 00:47:49 +02:00
README.md Update README and fix minor release-script issues 2024-08-27 23:24:27 +02:00
VERSION.txt Prepare XCA 2.7.0 2024-08-27 23:26:16 +02:00

XCA - X Certificate and Key Management

CMake

Release Notes

Changelog:

A detailled changelog can be found here:

https://hohnstaedt.de/xca/index.php/software/changelog

Documentation

This application is documented in the Help menu and here:

https://www.hohnstaedt.de/xca/index.php/documentation/manual

Build from Source

Dependencies

To build XCA you need:

Linux / Unix

  • Install the dependencies
    # Bookworm
    sudo apt install build-essential libssl-dev pkg-config cmake qttools5-dev python3-sphinxcontrib.qthelp
    # Bullseye
    sudo apt install build-essential libssl-dev pkg-config cmake qttools5-dev python3-sphinx
    # Either Qt5
    sudo apt install qtbase5-dev qttools5-dev-tools libqt5sql5 libqt5help5 qttools5-dev
    # Or Qt6
    sudo apt install qt6-base-dev qt6-tools-dev
    
  • Clone: git clone https://github.com/chris2511/xca.git
  • Configure: cmake -B build xca
  • Make: cmake --build build -j5
  • Install: sudo cmake --install build
  • Or install local and copy later as root: DESTDIR=DEST cmake --install build --prefix /usr

Apple macos

  • Install the dependencies
    xcode-select --install
    brew install openssl@3 qt6 python3 cmake
    pip3 install sphinx
    
  • Clone: git clone https://github.com/chris2511/xca.git
  • Configure: cmake -B build xca
  • Make: cmake --build build -j5
  • Build the DMG: cd build && cpack
  • Build the PKG: cd build && cpack -G productbuild

XCA can be used with Xcode after initializing the directory with: cmake -G Xcode -B .

Windows

  • Install the dependencies

    • Install Python for windows from the store or https://www.python.org/downloads/windows/
    • Install OpenSSL from here: https://slproweb.com/download/Win64OpenSSL-3_1_5.msi and verify the sha256 from https://github.com/slproweb/opensslhashes/blob/master/win32_openssl_hashes.json
    • To install the Qt libraries, cmake and the MinGW compiler aqtinstall is used. Sphinx is used to generate the documentation
      pip3 install sphinx aqtinstall
      
    • Add the PATH shown by pip to your PATH
    • Install Qt, cmake and the MinGW toolchain
      aqt install-qt windows desktop 6.6.3 win64_mingw
      aqt install-tool windows desktop tools_mingw90 qt.tools.win64_mingw900
      aqt install-tool windows desktop tools_vcredist qt.tools.vcredist_64
      
    • If 7z is missing, install it from the store. 7-Zip File Manager (unofficial) or from 7-zip.org
    • Install the "vcredist\vcredist_64.exe"
    • Add cmake, MinGW, OpenSSL and Qt6 to your Path
      %USERPROFILE%\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\Scripts;
      %USERPROFILE%\AppData\Local\Microsoft\WindowsApps;
      %USERPROFILE%\Tools\CMake_64\bin;
      %USERPROFILE%\Tools\mingw_64\bin;
      %USERPROFILE%\6.6.3\mingw_64\bin;
      
    • Create CMAKE_PREFIX_PATH environment variable:
      %USERPROFILE%\6.6.3\mingw_64\lib\cmake
      
    • Install https://wixtoolset.org/releases/ if you want to create the MSI installer
  • Clone: git clone https://github.com/chris2511/xca.git

  • Configure: cmake -B build -G "MinGW Makefiles" xca

  • Make: cmake --build build -j5

  • Create the Portable App: cmake --build build -t install

  • Build the MSI installer (and the Portable App): cd build ; cpack

SQL Remote Database Drivers

MySQL plugins are not shipped with QT anymore because of license issues.

Linux

  • Debian: libqt6sql6-psql libqt6sql6-mysql or libqt6sql6-odbc.
  • RPM: libqt6-database-plugin-pgsql libqt6-database-plugin-mysql libqt6-database-plugin-odbc They should pull in all necessary dependencies.

Apple macos

  • PostgreSQL: Install the https://postgresapp.com/
  • ODBC: It requires the /usr/local/opt/libiodbc/lib/libiodbc.2.dylib. When installing unixodbc via brew the library must be symlinked from /opt/homebrew/Cellar/libiodbc/3.52.16/lib/libiodbc.2.dylib
  • MariaDB: Probably via ODBC ?

Windows