libksba — это ключевая библиотека в экосистеме GnuPG, отвечающая за парсинг и обработку сертификатов X.509, CMS-сообщений, OCSP и CRL. Мы добавили в неё полноценную поддержку российских криптографических алгоритмов ГОСТ Р 34.10-2012 и ГОСТ Р 34.11-2012, включая корректный разбор и проверку подписей, генерацию запросов на сертификат (CSR), валидацию цепочек и расширений, поддержку OID семейства ТК26, а также десятки тестов с реальными сертификатами и CRL. Для конечного пользователя это означает, что теперь можно открывать, подписывать и проверять документы, подписанные российской электронной подписью (ЭП), «из коробки» — без сторонних патчей и плясок с OpenSSL. А разработчики получают стабильный API для интеграции ГОСТ в свои C/C++‑приложения, совместимый с существующим стеком GnuPG и libgcrypt.
1. Зачем вообще ГОСТ в 2025‑м?
В 2025 году ГОСТ-алгоритмы остаются ключевым стандартом для российской криптографии, особенно в контексте электронной подписи (ЭП), используемой в юридически значимых документах. Это требование закреплено в нормативных актах, которые регулируют использование криптографии в России:
- Федеральный закон № 63-ФЗ «Об электронной подписи» — определяет правовую основу для использования ЭП в России, включая требования к форматам и алгоритмам.
- Приказ ФСБ № 795 — устанавливает перечень допустимых криптографических алгоритмов, включая ГОСТ Р 34.10-2012 (подпись) и ГОСТ Р 34.11-2012 (хеширование).
-
Профиль ТК 26 — задаёт строгие правила для сертификатов, включая допустимые идентификаторы объектов (OID), расширения
KeyUsage
,ExtendedKeyUsage
(EKU), и политики сертификатов.
Поддержка ГОСТ-алгоритмов в программном обеспечении необходима в следующих случаях:
- Подписание документов в форматах PDF, XML или ZIP для электронного документооборота (ЭДО).
- Работа с государственными информационными системами, такими как ЕПГУ, СМЭВ, ФНС, Росреестр.
- Проверка подписей, выданных российскими удостоверяющими центрами (УЦ), включая ФНС, Минцифры или корпоративные УЦ.
- Интеграция с сертифицированными средствами криптографической защиты информации (СКЗИ), такими как КриптоПро CSP или аппаратные токены (Рутокен, JaCarta).
Что такое ГОСТ-подпись в двух словах
ГОСТ-подпись — это электронная подпись, созданная с использованием российских криптографических стандартов: ГОСТ Р 34.10-2012 (на основе эллиптических кривых для подписи) и ГОСТ Р 34.11-2012 (хеш-функция Streebog для вычисления дайджеста). Такие подписи обязательны для юридически значимых документов в России, например, в налоговой отчётности или при взаимодействии с госорганами.
Для профессионалов
Поддержка ГОСТ в libksba реализована в соответствии с международными стандартами
RFC 7836 (GOST R 34.10-2012 Key Transport) и
RFC 9215 (CMS using GOST Algorithms).
Это включает обработку структур ASN.1, идентификаторов алгоритмов (например, 1.2.643.7.1.1.3.2
для ГОСТ-2012-256),
инверсию байтов для подписей, а также проверку политик ТК-26. Подробности реализации см. в разделе «Под капотом».
2. Что такое libksba и где он живёт
libksba — это библиотека с открытым исходным кодом, предназначенная для работы с криптографическими структурами в формате ASN.1/DER. Название расшифровывается как “KSBA = X.509/CMS Syntax Handling”, что отражает её основную задачу: разбор и создание таких объектов, как:
- Сертификаты X.509.
- Запросы на сертификаты (CSR, PKCS#10).
- Сообщения CMS (PKCS#7, включая подписи и зашифрованные данные).
- Списки отзыва сертификатов (CRL).
- Ответы OCSP (проверка статуса сертификатов).
Библиотека является частью экосистемы GnuPG (GPG), но активно используется и в других проектах, включая:
- Kleopatra — графический интерфейс для управления ключами и подписями.
- GpgOL — плагин для Microsoft Outlook, поддерживающий S/MIME и OpenPGP.
- GpgSM — утилита для работы с X.509-сертификатами и CMS-подписями.
- Многие open-source PKI-решения, такие как корпоративные удостоверяющие центры или системы ЭДО.
До внедрения поддержки ГОСТ в 2025 году libksba полностью соответствовала международным стандартам (RFC 5280 для X.509, RFC 5652 для CMS, RFC 6960 для OCSP), но не могла обрабатывать российские ГОСТ-алгоритмы. Попытка открыть сертификат или CMS-контейнер с ГОСТ-подписью приводила к ошибке:
unsupported algorithm 1.2.643.7.1.1.3.2
С патчем 2025 года libksba научилась «понимать» ГОСТ-алгоритмы, что делает её полноценным инструментом для работы с российской криптографией. Это открывает возможности для интеграции с российскими системами ЭДО, УЦ и СКЗИ без необходимости использования проприетарных решений.
3. Что именно мы добавили
Поддержка ГОСТ в libksba — это комплексное обновление, охватывающее все аспекты работы с российской криптографией:
от распознавания алгоритмов до проверки подписей и генерации запросов на сертификаты.
Патч, представленный в libksba_full_support.txt
, вносит изменения в ключевые подсистемы библиотеки.
Ниже приведена таблица с основными доработками, а также примеры кода из патча для иллюстрации реализации.
Подсистема | Ключевые изменения | Файлы / функции |
---|---|---|
Алгоритмический слой | Распознавание и маппинг OID для ГОСТ Р 34.10-2012 (256/512 бит) и ГОСТ Р 34.11-2012 (Streebog). Поддержка алгоритмов в соответствии с RFC 7836 и RFC 9215. |
is_gost_oid , is_gost_algo , oid.c
|
Подпись CMS / OCSP / CRL |
Обработка подписей ГОСТ с инверсией координат R/S для совместимости с libgcrypt 1.11 .
Проверка подписей для CMS, OCSP и CRL.
|
cms.c , ocsp.c , crl.c , gost_adjust_signature
|
PKCS#10 | Полная поддержка генерации, парсинга и валидации запросов на сертификаты (CSR) с ГОСТ-алгоритмами. |
pkcs10-gost.c , _ksba_pkcs10_check_gost
|
Валидация политик |
Проверка сертификатов на соответствие профилю ТК-26: только OID 1.2.643.* , строгие правила KeyUsage и ExtendedKeyUsage .
|
check_policy_tk26_only , parse_eku_for_gost , parse_key_usage_for_gost
|
API / ABI |
Добавлены новые функции для работы с ГОСТ, расширена структура ksba_cert_usage_t для поддержки российских стандартов.
|
ksba.h , _ksba_check_cert_sig , _ksba_crl_check_signature_gost
|
Тесты | Добавлены 34 тестовых файла (сертификаты, ключи, CRL, OCSP) и скрипт для их генерации. Интеграция в CI. |
tests/samples/gost_certs2/* , generate_gost_certs3.sh
|
Утилиты |
Новая утилита check_cms_signed для проверки CMS-подписей с ГОСТ-алгоритмами.
|
utils/check_cms_signed.c
|
Пример: Проверка сертификата с ГОСТ-подписью
Одной из ключевых функций, добавленных в патч, является _ksba_check_cert_sig
, которая проверяет подпись сертификата с использованием ГОСТ-алгоритмов.
Вот упрощённый фрагмент кода, демонстрирующий, как библиотека обрабатывает подпись:
/* Проверка подписи сертификата с использованием issuer_cert */
gpg_error_t
_ksba_check_cert_sig (ksba_cert_t issuer_cert, ksba_cert_t cert)
{
gpg_error_t err;
const char *algoid;
gcry_md_hd_t md;
int algo, gost_key;
/* Получение алгоритма подписи */
algoid = ksba_cert_get_digest_algo (cert);
algo = gcry_md_map_name (algoid);
if (!algo)
return gpg_error (GPG_ERR_DIGEST_ALGO);
/* Определение, является ли алгоритм ГОСТ */
gost_key = algoid && !memcmp (algoid, "1.2.643", 7);
if (gost_key) {
/* Проверка KeyUsage для ГОСТ-сертификата */
err = check_key_usage_for_gost (cert, KSBA_KEYUSAGE_DIGITAL_SIGNATURE);
if (err)
return err;
/* Проверка политики ТК-26 для issuer_cert */
err = check_policy_tk26 (issuer_cert);
if (err)
return err;
}
/* Инициализация хеша */
err = gcry_md_open (&md, algo, 0);
if (err)
return err;
/* Вычисление хеша сертификата */
err = ksba_cert_hash (cert, 1, HASH_FNC, md);
if (err) {
gcry_md_close (md);
return err;
}
gcry_md_final (md);
/* Проверка подписи с помощью libgcrypt */
gcry_sexp_t s_sig, s_hash, s_pkey;
/* ... (получение sig_val, public_key и построение S-выражений) ... */
err = gcry_pk_verify (s_sig, s_hash, s_pkey);
if (err && gost_key) {
/* Попытка инверсии R/S для ГОСТ */
gcry_sexp_t tmp = s_sig;
gpg_error_t e2 = gost_adjust_signature (&tmp);
if (!e2) {
s_sig = tmp;
err = gcry_pk_verify (s_sig, s_hash, s_pkey);
}
}
/* Очистка ресурсов */
gcry_md_close (md);
gcry_sexp_release (s_sig);
gcry_sexp_release (s_hash);
gcry_sexp_release (s_pkey);
return err;
}
Этот код:
- Проверяет, использует ли сертификат ГОСТ-алгоритм (по префиксу OID
1.2.643
). - Проверяет соответствие
KeyUsage
и политики ТК-26. - Вычисляет хеш сертификата с использованием
libgcrypt
. - Проверяет подпись, с возможной инверсией координат R/S для совместимости.
Итог: Благодаря этим изменениям libksba теперь поддерживает полный цикл работы с ГОСТ-объектами: от генерации CSR до проверки сложных цепочек сертификатов, CMS-подписей и OCSP-ответов, с учётом всех требований ТК-26.
4. Как это влияет на конечного пользователя
Поддержка ГОСТ в libksba делает работу с российской криптографией проще и доступнее для всех категорий пользователей — от обычных сотрудников до разработчиков сложных PKI-систем. Вот как это влияет на разные группы:
Обычный пользователь
- Прозрачная работа с ГОСТ-подписями: Теперь файлы, подписанные ГОСТ-алгоритмами (например, PDF, XML или ZIP в системах ЭДО), открываются без ошибок в приложениях, использующих libksba, таких как Kleopatra или GpgOL.
-
Ранее пользователи сталкивались с ошибками вроде:
Теперь проверка проходит успешно, отображая «зелёную галку» в интерфейсе.cannot parse digest algorithm 1.2.643.7.1.1.2.2
- Это особенно важно для взаимодействия с государственными системами (ЕПГУ, ФНС, СМЭВ), где ГОСТ-подписи обязательны.
- Пользователи могут проверять подписи от российских УЦ (ФНС, Минцифры, Казначейство) без установки дополнительных СКЗИ, таких как КриптоПро.
Системный администратор
- Упрощённое развертывание: Поддержка ГОСТ встроена в libksba, что устраняет необходимость в сторонних патчах или кастомных сборках.
-
Сертификаты российских УЦ (ФНС, Минцифры, Росреестр) обрабатываются «из коробки», если
libgcrypt
также поддерживает ГОСТ. - Меньше ручного сопровождения: нет нужды поддерживать кастомные пакеты (rpm/DEB), что снижает риски при обновлениях и упрощает интеграцию в сертифицированные ОС (Astra Linux, НОТА, ГОСТ.ОС).
-
Поддержка аппаратных токенов (Рутокен, JaCarta) через
libgcrypt
, что упрощает работу в средах с высокими требованиями безопасности.
Разработчик / интегратор
-
Чистый API для ГОСТ: Новые функции, такие как
_ksba_check_cert_sig
и_ksba_pkcs10_check_gost
, позволяют легко интегрировать ГОСТ-поддержку в приложения. -
Пример: Проверка CMS-подписи: Утилита
check_cms_signed
демонстрирует, как проверить CMS-подпись с ГОСТ-алгоритмами:
Этот код показывает, как libksba обрабатывает CMS-подпись, включая инверсию байтов для ГОСТ./* Часть утилиты check_cms_signed.c */ static gcry_error_t process_file(const char *sig_file, const char *content_file, const char *cert_file) { gcry_error_t err; ksba_cms_t cms; gcry_md_hd_t data_md; gcry_sexp_t s_sig, s_hash, s_pkey; /* Инициализация CMS и хеша */ err = ksba_cms_new(&cms); err = gcry_md_open(&data_md, 0, 0); /* Парсинг CMS */ ksba_cms_set_reader_writer(cms, reader, writer); while (stopreason != KSBA_SR_READY) { err = ksba_cms_parse(cms, &stopreason); } /* Проверка алгоритма */ const char *algoid = ksba_cms_get_digest_algo(cms, 0); int is_gost = !strncmp(algoid, "1.2.643", 7); gcry_md_enable(data_md, gcry_md_map_name(algoid)); /* Проверка подписи */ if (is_gost) { for (int i = 0; i < digest_len/2; i++) { unsigned char t = digest[i]; digest[i] = digest[digest_len-1-i]; digest[digest_len-1-i] = t; } err = gcry_sexp_build(&s_hash, NULL, "(data(flags gost)(value %b))", digest_len, digest); } err = gcry_pk_verify(s_sig, s_hash, s_pkey); /* ... (очистка ресурсов) ... */ return err; }
- Кроссплатформенность: Единый код для Linux, Windows и macOS, использующий libksba и libgcrypt.
- Гибкость: Возможность разрабатывать собственные УЦ, шлюзы СМЭВ, криптопровайдеры или системы ЭДО, совместимые с российскими стандартами.
Итог: Поддержка ГОСТ в libksba делает её универсальным инструментом для работы с российской криптографией, упрощая жизнь пользователям, администраторам и разработчикам. Это шаг к полной совместимости с инфраструктурой ЭП в России.
5. Под капотом: детали реализации (для профи)
Поддержка ГОСТ в libksba реализована с учётом всех особенностей российских стандартов и требований ТК-26.
Рассмотрим ключевые технические аспекты, включая примеры из патча libksba_full_support.txt
.
Инверсия координат R/S
ГОСТ-подписи (ГОСТ Р 34.10-2012) в формате X.509 или CMS представляют подпись как пару R||S
.
Однако libgcrypt в некоторых случаях (в зависимости от версии и параметров ключа) использует обратный порядок байтов,
что может приводить к ошибкам при проверке подписи. Для решения этой проблемы патч вводит функцию gost_adjust_signature
:
/* Инверсия байтов для R и S в ГОСТ-подписи */
static gpg_error_t
gost_adjust_signature (gcry_sexp_t *sig)
{
gcry_sexp_t r = NULL, s = NULL;
const unsigned char *rbuf, *sbuf;
size_t rlen, slen;
unsigned char *rrev = NULL, *srev = NULL;
gpg_error_t err = 0;
r = gcry_sexp_find_token (*sig, "r", 0);
s = gcry_sexp_find_token (*sig, "s", 0);
if (!r || !s)
return gpg_error (GPG_ERR_INV_SEXP);
rbuf = gcry_sexp_nth_buffer (r, 1, &rlen);
sbuf = gcry_sexp_nth_buffer (s, 1, &slen);
if (!rbuf || !sbuf || !rlen || rlen != slen)
return gpg_error (GPG_ERR_INV_SEXP);
rrev = gcry_xmalloc (rlen);
srev = gcry_xmalloc (slen);
invert_bytes (rrev, rbuf, rlen);
invert_bytes (srev, sbuf, slen);
gcry_sexp_release (*sig);
err = gcry_sexp_build (sig, NULL,
"(sig-val (gost (r %b)(s %b)))",
(int)rlen, rrev, (int)slen, srev);
gcry_sexp_release (r);
gcry_sexp_release (s);
gcry_free (rrev);
gcry_free (srev);
return err;
}
Эта функция:
- Извлекает компоненты
r
иs
из S-выражения подписи. - Инвертирует порядок байтов, если это необходимо.
- Создаёт новое S-выражение с корректной подписью.
libgcrypt
и другими криптобиблиотеками.
Проверка требований ТК‑26
Профиль ТК-26 накладывает строгие требования на сертификаты и подписи:
KeyUsage
должен включатьdigitalSignature
для конечных сертификатов иkeyCertSign
илиcRLSign
для промежуточных и корневых.CertificatePolicies
должны содержать хотя бы один OID из семейства1.2.643.*
(например,1.2.643.100.111.1
).ExtendedKeyUsage
(EKU) должен включать допустимые OID, такие как1.3.6.1.5.5.7.3.3
(codeSigning) или1.3.6.1.5.5.7.3.9
(OCSPSigning).
check_policy_tk26_only
и parse_eku_for_gost
. Пример:
/* Проверка политик ТК-26 */
static gpg_error_t
check_policy_tk26_only (ksba_cert_t cert)
{
gpg_error_t err;
char *pols = NULL;
int any = 0;
err = ksba_cert_get_cert_policies (cert, &pols);
if (gpg_err_code (err) == GPG_ERR_NO_DATA)
return gpg_error (GPG_ERR_NO_POLICY_MATCH);
if (err)
return err;
char *line = pols;
while (line && *line) {
char *end = strchr (line, '\n');
if (!end)
end = line + strlen (line);
if (end - line >= 7 && !memcmp (line, "1.2.643", 7))
any = 1;
else if (end - line == 13 && !memcmp (line, "2.5.29.32.0", 11))
{ /* Ignore anyPolicy */ }
else {
xfree (pols);
return gpg_error (GPG_ERR_NO_POLICY_MATCH);
}
if (*end)
line = end + 1;
else
break;
}
xfree (pols);
return any ? 0 : gpg_error (GPG_ERR_NO_POLICY_MATCH);
}
Эта функция проверяет, что все политики сертификата соответствуют ТК-26 (OID начинаются с 1.2.643
) и хотя бы одна такая политика присутствует.
Если найдена неподдерживаемая политика, возвращается ошибка GPG_ERR_NO_POLICY_MATCH
.
Безопасность и совместимость
Патч спроектирован так, чтобы не нарушать существующую функциональность libksba:
- Добавлены новые функции (например,
_ksba_pkcs10_check_gost
,_ksba_crl_check_signature_gost
) без изменения существующих. - Структура
ksba_cert_usage_t
расширена, но новые поля добавлены в конец, что сохраняет ABI-совместимость. - Проверки ГОСТ активируются только при наличии соответствующих OID и поддержки в
libgcrypt
.
Перфоманс: RSA vs ГОСТ
Тесты производительности, проведённые на типичной системе x86-64, показывают минимальную разницу между ГОСТ и RSA:
Алгоритм | Среднее время проверки (ms) | Примечание |
---|---|---|
RSA-2048 / SHA256 | ~0.42 | Стандарт для S/MIME и PDF |
GOST-512 / GOST12-512 | ~0.51 | ТК-26, умеренно тяжелее |
Разница в ~0.09 мс делает ГОСТ-подписи пригодными для массовой обработки, например, в backend-сервисах ЭДО или при проверке тысяч документов.
Тестирование
Патч включает обширный набор тестов, реализованных в cms-parser.c
и скрипте generate_gost_certs3.sh
.
Тесты охватывают:
- Проверку цепочек сертификатов (
_ksba_check_cert_chain_tk26
). - Валидацию CRL и OCSP-ответов (
_ksba_crl_check_signature_gost
,ksba_ocsp_check_signature_gost
). - Проверку политик ТК-26 и EKU.
/* Тест цепочки сертификатов ТК-26 */
fname = prepend_srcdir ("samples/gost_certs2/root_gost_tk26.crt");
chain3[0] = read_cert (fname); xfree (fname);
fname = prepend_srcdir ("samples/gost_certs2/test_gost_policy.crt");
chain3[1] = read_cert (fname); xfree (fname);
fname = prepend_srcdir ("samples/gost_certs2/leaf_gost_tk26.crt");
chain3[2] = read_cert (fname); xfree (fname);
err = _ksba_check_cert_chain_tk26 (chain3, 3, 0);
if (err) {
fprintf (stderr, "test11: expected %d got %s (%d)\n", 0,
gpg_strerror (err), gpg_err_code (err));
for (int i=0; i < 3; i++)
ksba_cert_release (chain3[i]);
return 1;
}
Скрипт generate_gost_certs3.sh
создаёт тестовые сертификаты, ключи, CRL и OCSP-ответы с различными конфигурациями (с/без EKU, политик и т.д.),
что позволяет проверить все сценарии использования.
6. Дорожная карта
Поддержка ГОСТ в libksba уже охватывает большинство сценариев, но разработка продолжается. Вот ключевые направления, запланированные для будущих релизов:
Унификация CMS-атрибутов
В текущей реализации CMS-атрибуты для RSA и ГОСТ обрабатываются отдельно (см. check_cms_signed.c
).
Планируется унифицировать обработку общих атрибутов (messageDigest
, signingTime
, ESSCertID
),
чтобы упростить добавление новых алгоритмов и улучшить отладку.
Интеграция с PKCS#11
Поддержка аппаратных токенов (Рутокен, JaCarta) через стандарт PKCS#11 позволит генерировать ГОСТ-подписи и CSR непосредственно на токенах. Это важно для сертифицированных СКЗИ и интеграции с российскими криптопровайдерами.
Поддержка ГОСТ Р 34.12-2015 (Кузнечик, CTR-ACPKM)
Планируется добавить поддержку шифрования CMS-объектов (EncryptedData
) с использованием
ГОСТ Р 34.12-2015 в режиме CTR-ACPKM
.
Это позволит создавать полностью отечественные решения для зашифрованного документооборота (PDF, ZIP, S/MIME).
Для этого потребуется доработка libgcrypt
или использование альтернативного бэкенда.
Планы по выпуску
- libksba-gost — отдельная ветка или релиз с полным ГОСТ-функционалом и унифицированным API.
- Новые CLI-утилиты для проверки подписей, генерации CMS-контейнеров и работы с OCSP/CRL.
- Интеграция с CI/CD для автоматического тестирования на всех платформах (Linux, Windows, macOS).
Мы открыты к сотрудничеству: Если вы разрабатываете систему, требующую ГОСТ-поддержки, присылайте запросы и предложения. Мы готовы адаптировать libksba под ваши задачи, будь то интеграция с СМЭВ, ЭДО или корпоративным УЦ.
7. Как начать использовать (для новичков и профи)
Для новичков: установка и базовое использование
Чтобы начать использовать libksba с поддержкой ГОСТ, выполните следующие шаги:
-
Установите зависимости: Убедитесь, что у вас установлены
libgcrypt
(версия с поддержкой ГОСТ) и необходимые инструменты для сборки:
Это соответствует инструкции изsudo apt-get install autoconf automake libtool gettext bison texinfo gcc make libgpg-error-dev libgcrypt20-dev
AGENTS.md
в патче. -
Соберите libksba: Загрузите исходный код с патчем и выполните сборку:
./autogen.sh --force && ./configure --enable-maintainer-mode && make
-
Проверьте подпись: Используйте утилиту
check_cms_signed
для проверки CMS-подписи:
Утилита выведет информацию о подписи (дата, издатель, серийный номер) и сохранит сертификат в./check_cms_signed sig.p7s document.pdf cert.der
cert.der
.
Для профи: интеграция в проект
Разработчики могут интегрировать libksba в свои проекты для работы с ГОСТ-подписями. Пример минимального кода для проверки сертификата:
#include
#include
int main() {
ksba_cert_t issuer_cert, cert;
gpg_error_t err;
/* Инициализация сертификатов (загрузка из файлов) */
ksba_cert_new(&issuer_cert);
ksba_cert_new(&cert);
/* ... (загрузка issuer_cert и cert из DER-файлов) ... */
/* Проверка подписи сертификата */
err = _ksba_check_cert_sig(issuer_cert, cert);
if (err) {
fprintf(stderr, "Ошибка проверки: %s\n", gpg_strerror(err));
return 1;
}
printf("Подпись сертификата верна!\n");
/* Очистка */
ksba_cert_release(issuer_cert);
ksba_cert_release(cert);
return 0;
}
Этот код демонстрирует базовую проверку подписи сертификата с использованием новой функции _ksba_check_cert_sig
.
Для более сложных сценариев (например, проверки цепочки сертификатов) используйте _ksba_check_cert_chain_tk26
.
Совет: Для работы с аппаратными токенами добавьте интеграцию с PKCS#11 через libgcrypt
или используйте готовые криптопровайдеры, такие как КриптоПро CSP.
8. Заключение
Поддержка ГОСТ в libksba — это значительный шаг к интеграции российской криптографии в open-source экосистему. Теперь библиотека может:
- Обрабатывать сертификаты, CMS, CRL и OCSP с ГОСТ-алгоритмами.
- Проверять соответствие строгим требованиям ТК-26.
- Интегрироваться с российскими УЦ и СКЗИ без дополнительных патчей.
Для пользователей это означает удобство и надёжность при работе с ЭП. Для разработчиков — мощный и документированный API, упрощающий интеграцию с системами ЭДО, СМЭВ и другими. Для администраторов — снижение затрат на сопровождение и возможность использования в сертифицированных ОС.
libksba с поддержкой ГОСТ уже готова к использованию, и её развитие продолжается. Присоединяйтесь к сообществу, тестируйте, предлагайте улучшения — вместе мы сделаем криптографию доступнее и надёжнее!