X Certificate and Key management
Go to file
Sertonix 37c0f0cf1a
Fix BioByteArray when char is not signed
char can be signed or unsigned depending on the arch and compiler flags. Use unsigned char explicitly to behave consistently.

Fixes 7078853573 Consolidate Bignum2ByteArray conversion implementations
2025-03-26 12:36:45 +00: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 Close #306 #537 Allow Database-driver options in config file 2024-10-03 10:44:54 +02:00
img Drop unused XPM image 2024-09-07 20:41:40 +02:00
lang BG lang UI update (#609) 2024-11-02 22:54:35 +01:00
lib Fix BioByteArray when char is not signed 2025-03-26 12:36:45 +00:00
misc Prepare XCA 2.8.0 2024-10-13 14:37:31 +02:00
release Release XCA 2.8.0 done 2024-10-13 15:30:42 +02:00
test Close #88: Export to multiple files 2024-09-14 01:13:18 +02:00
ui Close #152: How can we specify the Cryptographic Service Provider 2024-09-30 19:07:12 +02:00
widgets Close #152: How can we specify the Cryptographic Service Provider 2024-09-30 19:07:12 +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.8.0 2024-10-13 14:37:31 +02:00
CMakeLists.txt Windows style changed from windowsvista to modernwindows 2024-10-04 16:01:58 +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 Prepare Release 2.8.0 2024-10-13 14:18:12 +02:00
VERSION.txt Prepare XCA 2.8.0 2024-10-13 14:37:31 +02:00

XCA - X Certificate and Key Management

CMake

Release Notes

  • The latest release is 2.8.0
  • Most notable new features:
    • Support for SHA3
    • Name the MS CryptographicServiceProvider in the comment
    • OpenSSL PURPOSE and validation results in the certificate details
    • Support UniveralPrincipalName (UPN) and NameConstraints
    • Support JSON Web Key (JWK) export format
    • Hide unusable (expired / revoked) certificates
  • Please report issues on github https://github.com/chris2511/xca/issues

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: Driver included since XCA 2.8.0

Windows