Данный пример создает тестовый XML документ, зашифровывает узел документа в адрес одного или нескольких получателей и расшифровывает документ на стороне одного из получателей. Узел зашифровывается на случайном сессионном ключе, который в свою очередь зашифровывается (Wrap) для каждого получателя. Расшифрование происходит на первом найденном секретном секретном ключе, чей сертификат находится в сообщении и хранилище MY со ссылкой на секретный ключ.

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

Данный пример демонстрирует использование методов класса EncryptedXml.

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

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

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

Процесс сборки требует указания дополнительных сборок CryptoPro.Sharpei.Xml.dll, System.Security.dll Побробнее см. Сборка, запуск и местоположение простейших криптографических примеров.

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

Для запуска примера необходимо иметь секретный ключ и соответствующий ему сертификат, установленный в хранилище MY со ссылкой на секретный ключ, а так же в хранилище AddressBook текущего пользователя. Для зашифрования сообщения в адрес нескольких дополнительных получателей необходимо иметь их сертификаты в хранилище AddressBook. Все сертификаты и секретные ключи должны иметь ключи алгоритма ГОСТ 34.10-2001. Для запуска примера необходимо передать имена (Subject) сертификатов получателей. Побробнее о возможных вариантах запуска см. Сборка, запуск и местоположение простейших криптографических примеров.

В ходе работы пример создает три файла nto_encrypt.xml, n_encrypted.xml и n_decrypted.xml, если такие файлы уже существуют, то они будут перезаписаны.

См. также