QCA
QCA
Що це таке?
Taking a hint from the similarly-named Java Cryptography Architecture, QCA aims to provide a straightforward and cross-platform crypto API, using Qt datatypes and conventions. QCA separates the API from the implementation, using plugins known as Providers. The advantage of this model is to allow applications to avoid linking to or explicitly depending on any particular cryptographic library. This allows one to easily change or upgrade crypto implementations without even needing to recompile the application! QCA should work everywhere Qt does, including Windows/Unix/MacOSX.
Що потрібно для користування цим?
Найсвіжіша версія QCA залежить від Qt 5.6+.
Підтримку яких можливостей передбачено?
- SSL/TLS
- X.509
- OpenPGP
- Синтаксис криптографічних повідомлень (для S/MIME)
- SASL
- PKCS#12
- Смарт-картки та інші сховища даних на флеш-пам'яті
- Захищена пам'ять
- Безпечні псевдовипадкові числа
- RSA/DSA/Діффі-Гелман
- Алгоритми хешування/шифрування/MAC
- Врахування обробки у декілька потоків
- Доступ до кореневих сертифікатів операційної системи
Як це працює?
The application includes <QtCrypto> and links to libqca, which provides the 'wrapper API' and plugin loader. Crypto functionality is determined during runtime, and plugins are loaded from the 'crypto' subfolder of the Qt Library Paths.
Яким є план розробки?
The base QCA library is considered mostly complete. Future development may include OCSP, shared certificate management, and improving the plugin API. However, there is no development plan for the base library at this time. Work will continue on the various plugins though, in order to get them into a release-quality state.
Сумісність
QCA follows a typical API/ABI compatibility scheme. Versions use the "major.minor.patch" format. Major versions of QCA may be incompatible with each other, minor versions are backwards compatible within the same major version, and patch versions are forwards and backwards compatible within the same minor version. This is the same scheme that Qt itself uses.
Документація
Документацію із програмного інтерфейсу у форматі HTML включено до дистрибутива із початковими кодами. Документацію до поточної версії можна також переглянути в інтернеті.
Де взяти початковий код?
Початковий код: qca-2.1.3.tar.gz
У QCA передбачено вбудовану підтримку алгоритмів хешування SHA1 і MD5 та слабкого джерела псевдовипадкових чисел. Щоб виконати будь-які інші криптографічні дії (або використати удосконалені версії вбудованих дій), потрібен відповідний додаток надавача даних. У поточній версії передбачено декілька типових додатків. Ви, якщо хочете, завжди можете написати власні.
У версії QCA 2.1 найсвіжіші версії додатків включено до архіву із кодом основної програми — немає потреби в окремому отриманні цих додатків.
Надавач даних | Можливості | Залежності |
---|---|---|
qca-ossl | TLS, CMS, X.509, RSA, DSA, Діффі-Гелман, PKCS#7, PKCS#12, SHA0, SHA1, SHA224, SHA256, SHA384, SHA512, MD2, MD4, MD5, RIPEMD160, Blowfish, DES, 3DES, AES128, AES192, AES256, CAST5, HMAC(SHA1, MD5, RIPEMD160), PBKDF1(MD2, SHA1), PBKDF2(SHA1) | OpenSSL 0.9.6+ |
qca-cyrus-sasl | SASL | Cyrus SASL2 |
qca-gnupg | OpenPGP | GnuPG 1.x або 2.x (потрібні лише для роботи) |
qca-pkcs11 | PKCS#11 (для смарт-карток) | pkcs11-helper 1.02+ |
qca-wingss | SASL GSSAPI (для Kerberos) | Лише Windows (використовує SSPI) |
qca-logger | Ведення журналу для внутрішніх модулів (з діагностичною метою) | Немає |
Найсвіжіший код можна знайти у модулі «qca» сховища коду Git KDE. Переглянути код можна також у інтернеті.
Піктограма «ключі» від команди KDE.