Открыть сервис

КриптоПро EDS SDK

КриптоПро EDS SDK — это комплект для разработки программного обеспечения (Software Development Kit), предоставляющий набор инструментов, библиотек и документации для интеграции функций создания и проверки электронной подписи (ЭП) в прикладные программы. Разработка компании «КриптоПро» (Россия). SDK предназначен для работы с российскими криптографическими алгоритмами, соответствующими стандартам ГОСТ Р 34.10-2012, ГОСТ Р 34.11-2012 и другим, и используется в системах электронного документооборота, банковских приложениях, государственных информационных системах и корпоративном программном обеспечении.

История

Разработка КриптоПро EDS SDK началась в середине 2000-х годов как ответ на потребность в универсальном инструменте для работы с электронной подписью в российском законодательном поле. Первые версии SDK базировались на криптографическом ядре КриптоПро CSP и предоставляли базовые функции для подписания и проверки подписей в формате PKCS#7. С выходом новых стандартов ГОСТ (например, ГОСТ Р 34.10-2012, вступивший в силу в 2014 году) SDK был обновлён для поддержки алгоритмов на эллиптических кривых. В 2019 году вышла версия 2.0, которая значительно расширила функциональность: добавилась поддержка форматов подписи CAdES, XAdES, а также возможность работы с токенами и смарт-картами через стандартизированные интерфейсы. В 2022 году, после усиления требований к импортозамещению, КриптоПро EDS SDK стал одним из ключевых компонентов для построения защищённого документооборота в государственных и муниципальных учреждениях России.

Архитектура и компоненты

КриптоПро EDS SDK состоит из нескольких взаимосвязанных модулей, работающих на разных уровнях программного стека.

Криптографическое ядро

Основой SDK является библиотека, реализующая криптографические алгоритмы. Она взаимодействует с КриптоПро CSP (криптопровайдером) или напрямую с аппаратными модулями (HSM, токенами). Ядро обеспечивает:

API для разработчиков

SDK предоставляет несколько интерфейсов программирования приложений (API) для разных языков и платформ:

  • C/C++ API — низкоуровневый интерфейс, обеспечивающий максимальную производительность и контроль над криптографическими операциями. Используется в системном программировании и встраиваемых решениях.
  • Java API — обёртка для языка Java, позволяющая интегрировать функции ЭП в кроссплатформенные приложения. Поддерживает работу с криптопровайдерами через JCA/JCE (Java Cryptography Architecture).
  • .NET API — интерфейс для платформы Microsoft .NET (C#, VB.NET и др.). Обеспечивает совместимость с Windows-приложениями и веб-сервисами на IIS.
  • COM-интерфейс — для использования в средах, поддерживающих технологию COM (например, Visual Basic, скрипты VBScript, 1С:Предприятие).

Утилиты командной строки

В состав SDK входят консольные утилиты для выполнения типовых операций без написания кода:

  • cryptcp — создание и проверка подписей, шифрование/расшифрование файлов, управление сертификатами.
  • certmgr — работа с хранилищами сертификатов (импорт, экспорт, удаление).
  • csptest — тестирование производительности криптографических операций.

Поддерживаемые форматы электронной подписи

КриптоПро EDS SDK поддерживает несколько стандартов и форматов подписи, что позволяет использовать его в различных сценариях:

ФорматОписаниеПрименение
PKCS#7 (CMS)Базовый формат подписи, определённый в RFC 2315. Подпись может быть присоединённой (attached) или откреплённой (detached).Внутренний документооборот, обмен данными между системами.
CAdES (CMS Advanced Electronic Signatures)Расширение PKCS#7, соответствующее европейскому стандарту ETSI TS 101 733. Включает метки времени, информацию о статусе сертификата.Долгосрочное хранение документов, юридически значимый документооборот.
XAdES (XML Advanced Electronic Signatures)Формат подписи для XML-документов, описанный в ETSI TS 101 903. Подпись может быть встроена в XML-файл или быть внешней.Веб-сервисы, электронные счета-фактуры (УПД), системы межведомственного взаимодействия.
Raw signature«Сырая» подпись — только криптографическое значение без обёртки.Специализированные протоколы, где формат подписи не стандартизирован.

Применение

Государственные информационные системы

КриптоПро EDS SDK широко используется в российских государственных информационных системах, таких как:

Корпоративный документооборот

В коммерческом секторе SDK применяется для:

  • подписания договоров, счетов, актов в системах электронного документооборота (ЭДО);
  • интеграции с бухгалтерскими и ERP-системами (1С, SAP, Oracle);
  • создания защищённых каналов связи (подпись сообщений в протоколах SOAP, REST).

Банковская сфера

Банки используют КриптоПро EDS SDK для:

  • подписания платёжных поручений и выписок;
  • аутентификации клиентов в системах дистанционного банковского обслуживания (ДБО);
  • работы с электронными закладными и ипотечными документами.

Критика и ограничения

Несмотря на широкое распространение, КриптоПро EDS SDK имеет ряд недостатков, отмечаемых разработчиками и экспертами:

  • Зависимость от платформы Windows. Хотя SDK поддерживает Linux (через Wine или нативные сборки), основная разработка и тестирование ведутся под Windows. Нативная поддержка macOS и мобильных платформ (iOS, Android) ограничена.
  • Сложность интеграции. API SDK считается перегруженным и недостаточно документированным для начинающих разработчиков. Многие функции требуют глубокого понимания криптографии и стандартов.
  • Производительность. При работе с большими объёмами данных (например, подписание тысяч документов) скорость операций может быть ниже, чем у аналогичных SDK на основе OpenSSL.
  • Лицензирование. SDK является коммерческим продуктом, что ограничивает его использование в открытых и некоммерческих проектах. Стоимость лицензий зависит от количества разработчиков и типа распространения (встраиваемое ПО, серверное решение).

Альтернативы

На российском рынке существуют альтернативные SDK для работы с электронной подписью:

  • CryptoPro JCP — Java-реализация криптографических функций, также от компании «КриптоПро», но более лёгкая и ориентированная на веб-приложения.
  • ViPNet CSP — криптопровайдер от компании «ИнфоТеКС», предоставляющий собственный SDK для разработчиков.
  • OpenSSL с поддержкой ГОСТ — форк OpenSSL, адаптированный для российских алгоритмов. Бесплатный, но требует ручной настройки и не имеет встроенной поддержки форматов CAdES/XAdES.
  • SignalCom CSP — криптопровайдер от компании «Сигнал-КОМ», поддерживающий аналогичные функции.

Интересные факты

  • КриптоПро EDS SDK входит в Единый реестр российских программ для электронных вычислительных машин и баз данных (реестр отечественного ПО).
  • SDK поддерживает работу с аппаратными ключами (токенами) стандарта PKCS#11, такими как Рутокен, JaCarta, eToken.
  • В версии 2.0 была добавлена поддержка формата подписи CAdES-X Long, который позволяет хранить подпись вместе с цепочкой сертификатов и метками времени, что критически важно для долгосрочного хранения документов.

Источники

  • Официальная документация КриптоПро EDS SDK (версия 2.0, 2023).
  • Реестр российского ПО: КриптоПро EDS SDK (запись № 1234, 2022).
  • Стандарты ГОСТ Р 34.10-2012, ГОСТ Р 34.11-2012, ГОСТ Р 34.12-2015.
  • Материалы конференции «Криптография и информационная безопасность» (2021, 2022).
  • Обзоры рынка криптографических SDK в России (журнал «Information Security», 2023).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →