Данный пример проверяет подписанное CMS сообщение. Проверка подписи осуществляется в поточном режиме. Так как в Microsoft .Net Framework 2.0 нет классов, позволяющих использовать поточную проверку подписи, реализация использует P/Invoke вызовы на соответствующие функции операционной системы. Возможна проверка как открепленной (detached) подписи, так PKCS #7/CMS содержащего сообщение и подпись.

Демонстрирует

Данный пример демонстрирует использование функция ОС CryptMsgOpenToDecode и CryptMsgUpdate.

Исходные тексты

Исходные тексты примера запакованы в файле Simple.zip. C# версия находится в файле CMS\cs\StreamVerify.cs, Visual Basic версия находится в файле CMS\vb\StreamVerify.vb. Кроме того, константы, делегаты, прототипы функций ОС объявлены в файле CMS\cs\StreamHelper.cs, Visual Basic версия находится в файле CMS\vb\StreamHelper.vb. Подробнее см. Сборка, запуск и местоположение простейших криптографических примеров.

Как собрать пример

При сборке данного примера в виде отдельной исполняемой программы требует указания двух исходных файлов (см. выше). Сборка не требует дополнительных параметров и библиотек. Побробнее см. Сборка, запуск и местоположение простейших криптографических примеров.

Как запустить пример

Перед запуском примера необходимо иметь подписанное сообщение. Для проверки открепленной (detached) подписи необходимо иметь как файл с подписью так и файл, на который была установлена данная подпись. В процессе проверки файла с данными и подписью будет создан файл (задается параметром командной строки), если файл уже существует, то он будет перезаписан.

Для проверки подписи под файлом, содержащего как подписываемые данные так и подпись необходимо передать следующие параметры

  1. Имя подписанного файла

  2. Имя файла, в котрый будет записаны подписанные данные.

Для проверки открепленной подписи необходимо передать следующие параметры

  1. Имя файла с подписью

  2. Имя файла, содержащего подписанные данные.

  3. параметр detached

Побробнее о возможных вариантах запуска см. Сборка, запуск и местоположение простейших криптографических примеров.

См. также