X Certificate and Key management
Go to file
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
.github/workflows Trigger build on PR 2024-08-21 10:20:41 +02:00
cmake Add OpenSSL PURPOSE and validation results 2024-09-29 14:12:17 +02:00
doc Add OpenSSL PURPOSE and validation results 2024-09-29 14:12:17 +02:00
img Drop unused XPM image 2024-09-07 20:41:40 +02:00
lang Close #296: Proper plurals 2024-09-14 10:22:45 +02:00
lib Close #239: Check existing Name Constraints 2024-09-29 18:39:00 +02:00
misc Close #296: Proper plurals 2024-09-14 10:22:45 +02:00
release Release XCA 2.7.0 done 2024-08-27 23:51:21 +02:00
test Close #88: Export to multiple files 2024-09-14 01:13:18 +02:00
ui Fix uic warning 2024-09-29 14:20:15 +02:00
widgets Close #239: Check existing Name Constraints 2024-09-29 18:39:00 +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 Update Changelog 2024-09-07 21:58:25 +02:00
CMakeLists.txt Add OpenSSL PURPOSE and validation results 2024-09-29 14:12:17 +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