Разработчикам

Вопросы использования КриптоПро CSP. Функции API.

Флаг CRYPT_SILENT

  1. Поддерживает, в любой версии. При этом если нет аппаратного ДСЧ, то при генерации ключей выдается ошибка.
  2. Это действительно так, начиная с версии 1.2. Дополнение к документации внесено в новую версию КриптоПро CSP.

КриптоПро SDK

  1. Поставка дистрибутива КриптоПро CSP производится на CD-ROMе, в котором есть документация, примеры встраивания + лицензии на необходимое количество пользователей.
  2. Не обязательно использовать CryptoAPI, для этого есть документация разработчика на диске, но без использования CryptoAPI у вас будет больше вопросов при встраивании (см. ссылку).
  3. Специализированного АРМа нет. Можно пользовать либо библиотеку, либо центр сертификации.

CAPICOM и КриптоПро CSP

На нашем сайте есть ссылка на страницу Микрософт, где лежит CAPICOM. В состав дистрибутива входят примеры использования. Для шифрования нужно пользовать метод Enveloped. Метод Encrypted работать с ГОСТом не будет, т.к. шифруется на пароле, алгоритмы шифрования перечислены. Eveloped аналогичен CryptEncryptMessage из CryptoAPI и на выходе формирует формат PKCS#7 Enveloped.

Какие CSP используются в системе?

  1. CryptEnumProviders
  2. CryptEnumProviderTypes

Почему нет провайдеров КриптоПро CSP на странице MS CA?

Исправьте Const nMaxProvType с 25 на 99 в файле certsgcl.inc (system32\certsrv). КриптоПро CSP имеют типы 71 и 75, а в стандартом скрипте провайдеры перечисляются только до 25.

Использование функции CPDeriveKey

Эта функция не обеспечивает необходимых требований при генерации ключей, поскольку, если на вход подается фиксированный набор данных, то функция создает один и тот же ключ. Использовать его для шифрования данных или экспорта ключей, помещаемых на диск или передаваемых по каналу связи, не рекомендуется.

Экспорт/импорт сессионного ключа

СКЗИ КриптоПро CSP позволяет делать экспорт сессионного ключа (CPExportKey(Provider, SessionKey, OpenKey, SIMPLEBLOB, 0, @Buffer, @BufferLen)) ТОЛЬКО на ключе парной связи Диффи-Хеллмана. Для экспорта сессионного ключа следует выполнить следующие шаги:

Follow us