Skip to content
/ qca Public

QCA aims to provide a straightforward and cross-platform crypto API, using Qt datatypes and conventions.

License

Notifications You must be signed in to change notification settings

wyyrepo/qca

Repository files navigation

Qt Cryptographic Architecture (QCA) version 2.1.0

Date: November 6th, 2014 Website: http://delta.affinix.com/qca/ Mailing List: Delta Project delta@lists.affinix.com

Project Lead/Maintainer (2003-current): Justin Karneges justin@affinix.com (March 2007 - August 2007 under Barracuda Networks employment)

Development, Documentation, Unittests (2004-2009): Brad Hards bradh@frogmouth.net

Development (2013-current) Ivan Romanov drizt@land.ru

Special Thanks: Portugal Telecom (SAPO division), for sponsorship Alon Bar-Lev, for smart card and design assistance Jack Lloyd, for Botan and X.509 mentoring L. Peter Deutsch, for the public domain MD5 implementation Steve Reid, for the public domain SHA1 implementation Jason Kim, for the CMS Signer graphics

Install

For installation or compiling instructions, see the INSTALL file.

License

This library is licensed under the Lesser GNU General Public License. See the COPYING file for more information.

Changes

New in 2.1.0

  • Ported to Qt5 (Qt4 also supported)
  • New building system. CMake instead of qmake
  • Added CTR symetric cipher support to qca core
  • Added no padding encryption algorithm to qca core
  • qcatool2 renamed to qcatool
  • fixed crash in qcatool when only options provided on command line without any commands
  • Use plugins installation path as hard-coded runtime plugins search path
  • Added new functiion pluginPaths
  • Added functions to get runtime QCA version
  • Fixed 'no watch file' warnings in FileWatch
  • Added EME_PKCS1v15_SSL Encryption Algorithm
  • New implementation of SafeTimer to prevent crashes
  • Updated certificates for unittests
  • RSA Keys are permutable, can encrypt with private and decrypt with public
  • Add unloadProvider() function for symmetry with insertProvider()
  • Overloaded "makeKey" to derive a password depending on a time factor
  • Remove pointer to deinit() routine from QCoreApplication at deinitialization
  • Fix a couple of crashes where all plugins might not be available
  • Fix operating on keys with unrelated expired subkeys
  • Fixed timers in Synchronizer class
  • Dropped randomunittest
  • Fixed many unittests
  • qca-gnupg: internal refactoring
  • qca-gnupg: try both gpg and gpg2 to find gnupg executable
  • qca-gnupg: fixed some encodings problem
  • qca-ossl: no DSA_* dl groups in FIPS specification
  • qca-ossl: added missed signatures to CRLContext
  • qca-ossl: fixed certs time zone
  • qca-nss: fixed KeyLenght for Cipher
  • qca-botan: fixed getting result size for ciphers

New in 2.0.3

  • Bugfix release, forward and backward compatible with 2.0.x
  • Fix compilation when using Qt/Windows SDK

New in 2.0.2

  • Bugfix release, forward and backward compatible with 2.0.x
  • Fix compatibility with Qt 4.5 when QCA::Initializer appears before QApp
  • Don't convert to secure memory when Hash::update(QByteArray) is used
  • Use configure.exe instead of configwin.bat

New in 2.0.1

  • Bugfix release, forward and backward compatible with 2.0.x
  • Ability to build as a Mac framework (and build this way by default)
  • On non-Mac Unix, the pkgconfig file is always qca2.pc, even in debug mode
  • Certificates containing wildcards are now matched properly
  • DirWatch/FileWatch now work
  • Keystore writes now work
  • Don't delete objects in their event handler (prevents Qt 4.4 warnings)
  • Fix potential hang with TLS in server mode
  • Windows version can be configured/installed using paths with spaces

Description

QCA is a library that provides an easy API for a range of cryptographic features, including SSL/TLS, X.509 certificates, SASL, OpenPGP, smartcards, and much more.

Functionality is supplied via plugins. This is useful for avoiding dependence on a particular crypto library and makes upgrading easier, as there is no need to recompile your application when adding or upgrading a crypto plugin.

In order for QCA to be of much use, you'll want to install some plugins.

QCA was originally created to support the security needs of the Psi XMPP/Jabber client project ( http://psi-im.org/ ).

API Documentation is located in the 'apidocs' subdirectory.

Have fun, -Justin

About

QCA aims to provide a straightforward and cross-platform crypto API, using Qt datatypes and conventions.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages