Криптографические средства защиты windows

Содержание
  1. Анализ криптографических средств в Windows 7
  2. Аннотация
  3. Общая постановка проблемы.
  4. Встроенный непосредственно в ядро ОС модуль, реализующий криптографическую функцию подсистемы защиты ОС Windows 7.
  5. Программный модуль подсистемы защиты Windows 7, реализующий криптографическую функцию BitLocker Windows 7.
  6. Моделирование дифференциального-алгебраического уравнения Ван-дер-Поля.
  7. Выводы
  8. Криптографические средства защиты windows
  9. Использование КриптоПро CSP в ПО Microsoft
  10. Встраивание КриптоПро CSP в приложения
  11. Цели использования криптографических функций
  12. Использование CryptoAPI
  13. Базовые криптографические функции
  14. Функции кодирования/декодирования
  15. Функции работы со справочниками сертификатов
  16. Высокоуровневые функции обработки криптографических сообщений
  17. Низкоуровневые функции обработки криптографических сообщений
  18. Использование SSPI
  19. Инструментарий разработчика CAPICOM
  20. Инструментарий разработчика КриптоПро CSP SDK

Анализ криптографических средств в Windows 7

Авторы: Первусяк А. И., Иванов А. Ю.
Источник: «Информатика та комп’ютерні технології» Збірка праць VII міжнародної науково-технічної конференції студентів, аспірантів та молодих науковців. 22-23 листопада 2011 р. стор. 281-286.

Аннотация

Первусяк А.И., Иванов А.Ю. Анализ криптографических средств в Windows 7 Рассмотрены функции подсистемы защиты ОС. Исследованы модули, реализующие криптографическую функцию подсистемы защиты. Исследованы возможности системы шифрования EFS и BitLocker Windows 7. Исследован алгоритм шифрования DESX. Проведен сравнительный анализ способов запуска програмного модуля BitLocker Windows 7. Проведен анализ характеристик шифрования/расшифрования различных типов файлов.

Общая постановка проблемы.

При создании защищенных операционных систем используется два основных подхода – фрагментарный и комплексный. При фрагментарном подходе организуется поэтапная защита от последовательности угроз, при комплексном — защитные функции вносятся в операционную систему на этапе проектирования архитектуры операционной системы и являются ее неотъемлемой частью. В операционнай системе Windows 7 реализован комплексный подход. Отдельные элементы подсистемы защиты тесно взаимодействуют друг с другом и конфликты между компонентами практически невозможны. Одновременно с этим подсистема устроена таким образом, что при фатальных сбоях в функционировании ключевых элементов она вызывает крах операционной системы. Это не позволяет злоумышленнику отключать защитные функции системы. Подсистемой допускается замена отдельных ее элементов.

Подсистема защиты ОС Windows 7 выполняет следующие основные функции: идентификация и аутентификация, разграничение доступа, аудит, управление политикой безопасности, криптографические функции и сетевые функции. Каждая из перечисленных функций подсистемы защиты решается одним или несколькими программными модулями (для криптографической — BitLocker Windows 7). Некоторые функции встраиваются непосредственно в ядро ОС (для криптографической – система шифрования файлов EFS). Установлен определенный интерфейс, используемый для взаимодействия модулей при решении задач.[1]

Встроенный непосредственно в ядро ОС модуль, реализующий криптографическую функцию подсистемы защиты ОС Windows 7.

Функции системы шифрования файлов EFS (Encrypting File System) обеспечивают гибкость для корпоративных пользователей при шифровании файлов с данными. В основе технологии шифрования EFS используют архитектуру Windows CryptoAPI. При этом используется шифрование с открытым ключом. Для шифрования каждого файла случайным образом генерируется ключ шифрования файла. Для шифрования файла может применяться любой симметричный алгоритм шифрования. В настоящее же время в EFS используется один алгоритм (DESX), являющийся модификацией стандарта DES. Ключи шифрования EFS хранятся в резидентном пуле памяти (сама EFS расположена в ядре Windows 7), что исключает несанкционированный доступ к ним через файл подкачки. [3]

Crypto API ориентирован на решение задач:

  • надежное сокрытие данных;
  • возможность передачи сокрытых данных третьим лицам;
  • надежная система проверки достоверности пришедшей от третьих лиц информации;
  • расшифровывание полученных конфиденциальных данных;
  • работа с «идентификационными удостоверениями» третьих лиц;
  • обеспечение работы с признанными криптографическими стандартами;
  • возможность расширения и работы с пока еще неизвестными алгоритмами.

В Crypto API для решения задачи расширения реализация всех алгоритмов (шифрования, цифровой подписи и т.п.) полностью выведена из состава самого Crypto API и реализуется в отдельных, независимых динамических библиотеках – «криптопровайдерах» (Cryptographic Service Provider – CSP). Сам же Crypto API предъявляет определенные требования к набору функций криптопровайдера, предоставляя конечному пользователю унифицированный интерфейс работы с CSP. Конечному пользователю для полноценного использования всех функций криптопровайдера достаточно знать его строковое имя и номер типа.

Общепризнанным решением в однозначной идентификации передающей/принимающей стороны в протоколе передачи данных является использование механизма сертификатов.

Crypto API, как основная библиотека для обеспечения работы с криптографическими данными поддерживает данные стандарты и позволяет формировать криптографические приложения, которые могут быть обработаны в дальнейшем любыми программными продуктами.[5]

Суть алгоритма DESX состоит в том, что перед выполнением однократного DES и после него операцией XOR накладываются различные 64-битные фрагменты ключа на данные: C = k3 XOR DESk1 ( k2 XOR M).

Операция наложения фрагмента ключа на вход и/или выход алгоритма называется отбеливанием. Однако в алгоритме DESX найдено несколько уязвимостей:

  • каждый ключ DESX имеет эквивалентный ключ, подключи которого комплементарны подключам исходного ключа;
  • существует атака, позволяющая раскрыть ключ алгоритма; атака основана на связанных ключах и при наличии 2(n) выбранных открытых текстов требует выполнения 2(120-n) шифрований;
  • дифференциальный криптоанализ позволяет вскрыть алгоритм при наличии 261 выбранных открытых текстов; линейный криптоанализ успешен при наличии 2(60) известных открытых текстов.

Эти проблемы не проявляются только в варианте DESX, использующем алгоритм хэширования SHA-1 для расширения ключа алгоритма.[2]

Процесс шифрования файла при помощи EFS можно разделить на следующие этапы:

  1. Загрузка профиля. Если профиль пользователя еще не загружен (например, шифрование или дешифрование файла происходит при помощи программы командной строки runas.exe), тогда профиль пользователя загружается.
  2. Создание файла журнала. На этом этапе создается файл журнала шифрования с именем формата efsX.log, где X определяет номер файла, который был зашифрован в текущий сеанс шифрования процессом lsasrv.exe. Данный файл создается в каталоге System Volume Information.
  3. Генерация FEK. Выполняется генерация случайного 128-битного числа, используемого в качестве FEK. FEK используется операционной системой для шифрования содержимого файла по определенному алгоритму, после чего значение FEK добавляется к самому зашифрованному файлу. Однако перед тем как добавить FEK к файлу, операционная система выполняет шифрование FEK при помощи алгоритма DESX, используя при этом открытый пользовательский ключ. После выполнения всех этих операций файл считается зашифрованным. Чтобы просмотреть файл, нужно расшифровать его при помощи FEK, а FEK можно расшифровать только при помощи ключей, которые можно получить только после загрузки учетной записи того пользователя, который зашифровал файл.
  4. Получение открытого и закрытого пользовательского ключа. Если прежде пользователь никогда не выполнял шифрование файлов, тогда генерируется пара пользовательских ключей (закрытый и открытый пользовательские ключи). В противном случае открытый пользовательский ключ берется из параметра «REG_BINARY» типа «CertificateHash», расположенного в ветви реестра «HKCU\Software\Microsoft\Windows NT\CurrentVersion\EFS\CurrentKeys». На основе данных этой ветви реестра создается сигнатура открытого ключа пользователя. Закрытые ключи находятся в каталоге «%userprofile%\AppData\Roaming\ Microsoft\Crypto\RSA. Содержимое этого каталога зашифровано на основе симметричного ключа, который называется мастер-ключом пользователя. Мастер ключ содержится в каталоге «%userprofile%\AppData\Roaming\Microsoft\ Protect». Он также зашифрован — с помощью алгоритма DESX и пароля пользователя.
  5. Создание DDF. Для шифруемого файла создается связка ключей DDF (совокупность нескольких DDF, определяющих пользователей, которые могут расшифровать данный файл). DDF содержит информацию о пользователе, который может открыть данный файл, а также о его правах доступа к файлу. В эту информацию входит SID-пользователя, имя контейнера, имя провайдера, зашифровавшего файл, хеш сертификата EFS, используемый при расшифровке, а также зашифрованный FEK.
  6. Создание DRF. Для шифруемого файла создается связка ключей DRF. DRF содержит информацию обо всех агентах восстановления, которые могут открыть данный зашифрованный файл. Информация, помещаемая в DRF, аналогична информации, помещаемой в DDF. Агенты восстановления представляют собой учетные записи пользователей, которые могут открыть зашифрованный файл, даже если они не входят в ту группу пользователей, которым разрешен доступ к файлу. Как правило, агентом восстановления является администратор.
  7. Шифрование. Создается резервная копия шифруемого файла с именем efs0.tmp. В дальнейшем шифрование будет применяться именно к резервному файлу, после чего его содержимое будет скопировано в исходный файл. И в самом конце произойдет удаление резервного файла, а также файла журнала шифрования.[3]
Читайте также:  Error loading midas dll windows 10

Программный модуль подсистемы защиты Windows 7, реализующий криптографическую функцию BitLocker Windows 7.

Когда операционная система находится в активном состоянии, ее можно защитить при помощи локальных политик безопасности, антивирусного программного обеспечения и брандмауэров с межсетевыми экранами, а вот защитить том операционной системы на жестком диске вы можете средствами шифрования BitLocker. Для того чтобы воспользоваться всеми преимуществами шифрования BitLocker и проверки подлинности системы, компьютер должен позволять сохранять определенный ключ на съемном носителе для запуска системы. Помимо модуля TPM, в базовой системе ввода-вывода (BIOS) должна быть установлена спецификация группы Trusted Computing Group (TCG), которая перед загрузкой операционной системы создает цепочку доверий для действий и включает поддержку статического корневого объекта изменения уровня доверия. Не все материнские платы оснащены таким модулем как TPM, но даже без этого модуля операционная система позволяет воспользоваться данной технологией шифрования при наличии запоминающих устройств USB с поддержкой команд UFI, а также в том случае, если жесткий диск разбит на два и более тома. Все тома должны быть отформатированы в файловой системе NTFS.

Архитектура шифрования BitLocker обеспечивает управляемые и функциональные механизмы, как в режиме ядра, так и в пользовательском режиме. На высоком уровне, к основным компонентам BitLocker можно отнести:

  • Драйвер Trusted Platform Module (%SystemRoot%System32DriversTpm.sys) – драйвер, который обращается к чипу TPM в режиме ядра;
  • Основные службы TPM, которые включают пользовательские службы, предоставляющие доступ к TPM в пользовательском режиме (%SystemRoot%System32tbssvc.dll), поставщика WMI, а также оснастку MMC (%SystemRoot%System32Tpm.msc);
  • Связанный код BitLocker в диспетчере загрузки (BootMgr), который аутентифицирует доступ к жесткому диску, а также позволяет восстанавливать и разблокировать загрузчик;
  • Драйвер фильтра BitLocker (%SystemRoot%System32DriversFvevol.sys), который позволяет шифровать и расшифровывать тома на лету в режиме ядра;
  • Поставщик WMI BitLocker и управление сценариями, которые позволяют настраивать и управлять сценариями интерфейса BitLocker.

Шифрование BitLocker поддерживает пять режимов проверки подлинности в зависимости от аппаратных возможностей компьютера и требуемого уровня безопасности. Если аппаратная конфигурация поддерживает технологию доверенного платформенного модуля (TPM), то можно сохранять VMK как в TMP, так и в TPM и на устройстве USB и при загрузке системы вводить PIN. А для платформ, которые не совместимы с технологией TPM, можно хранить ключ на внешнем USB устройстве.[4]

При загрузке операционной системы с включенным шифрованием BitLocker, выполняется последовательность действий, которая зависит от набора средств защиты тома. Эти действия включают в себя проверку целостности системы и другие шаги по проверке подлинности перед снятием блокировки с защищённого тома. В приведенной таблице (таблица 1) приведены способы, которые можно использовать для шифрования тома:

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

Читайте также:  Windows 10 создать рабочий стол без ярлыков

Моделирование дифференциального-алгебраического уравнения Ван-дер-Поля.

В экспериментальной части было проведено исследование системы шифрования EFS. Выполнялось шифрование/расшифрование различных типов файлов (doc, xls, exe, txt, mpx, bmp,avi и т.п.). Результаты отбражены в таблице 2.

Основываясь на полученных результатах, пришли к выводам, что в результате шифрования файлов их сжатие не производится, и процесс расшифрования в среднем на 10-20% быстрее. Это объясняется структурой алгоритма шифрования и расшифрования.

Выводы

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

Криптографические средства защиты windows

Использование КриптоПро CSP позволяет решить сразу несколько задач:

  • для корпоративных пользователей — это возможность использовать стандартные и повсеместно используемые приложения компании Microsoft с надежной российской криптографией;
  • для системных интеграторов — это возможность создания новых, надежно защищенных приложений с использованием богатейшего и проверенного временем инструментария разработки компании Microsoft.

Использование КриптоПро CSP в ПО Microsoft

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

  • Microsoft XML версии 5.0 (Microsoft Office 2003 и Microsoft XML Viewer) и версии 6.0 (Microsoft Visual Studio 2005);
  • Microsoft Certification Authority, входящее в состав ОС Windows Server 2000/2003/2008/2008R2 (см. особенности установки);
  • Microsoft Outlook Express, входящее в состав Internet Explorer версии 5.0 и выше;
  • Microsoft Outlook, входящее в состав MS Office 2000/XP/2003/2007/2010/2013 (при формировании сообщений в формате S/MIME). При использовании ПО Microsoft Outlook 2000 рекомендуем установить Набор исправлений Office 2000 SR-1a, который позволяет корректно обрабатывать кодировки KOI8 и Win1251 в подписанных сообщениях;
  • Microsoft Word/Excel, входящее в состав MS Office 2003/2007 (при формировании ЭЦП документов);
  • Средства формирования и проверки ЭЦП программного обеспечения, распространяемого по сети (Microsoft Authenticode);
  • Защита соединений в Интернете (TLS для HTTPS) от клиентов (Internet Explorer 5.0 и выше, КриптоПро Fox) до веб-серверов (Microsoft IIS, Apache, Tomcat);
  • Защита почтовых соединений (TLS для IMAPS/POP3S/SMTPS) в Microsoft Exchange и Microsoft Outlook;
  • Защита соединений удалённого администрирования при использовании Microsoft Terminal Server или серверов и клиентов Citrix;

Встраивание КриптоПро CSP в приложения

Для встраивания КриптоПро CSP в разрабатываемые приложения следует использовать функции Microsoft CryptoAPI, SSPI, CAPICOM, а так же КриптоПро ЭЦП Browser plug-in. Ниже приведено краткое описание этих интерфейсов. Более подробное описание можно найти в программной документации MSDN (Microsoft Developer Network).

Цели использования криптографических функций

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

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

Ниже приведен основной перечень функций защиты информации, реализуемый при помощи криптографических функций библиотек СКЗИ.

  • Конфиденциальность информации. При передаче данных в сети обеспечивается использованием функций шифрования. При хранении данных (на дисках, в базе данных) может использоваться функция шифрования или (для обеспечения НСД к хранимой информации) функция шифрования на производном (например, от пароля) ключе.
  • Идентификация и авторство. При сетевом взаимодействии (установлении сеанса связи) обеспечивается функциями ЭЦП при использовании их в процессе аутентификации (например, в соответствии с рекомендациями Х.509). Одновременно при аутентификации должна использоваться защита от переповторов. Для этих целей может быть использована функция имитозащиты с ограничениями, так как при вычислении имитовставки используется симметричный ключ шифрования, единый для двух субъектов (объектов) системы. При электронном документообороте обеспечивается использованием функций ЭЦП электронного документа. Дополнительно должна быть предусмотрена защита от навязывания, переповтора электронного документа.
  • Целостность. Обеспечивается использованием функций ЭЦП электронного документа. При использовании функций шифрования (без использования ЭЦП) обеспечивается имитозащитой. Для обеспечения целостности хранимых данных может быть использована функция хеширования или имитозащиты, но при этом не обеспечивается авторство информации.
  • Неотказуемость от передачи электронного документа. Обеспечивается использованием функций ЭЦП (подпись документа отправителем) и хранением документа с ЭЦП в течение установленного срока приемной стороной.
  • Неотказуемость от приема электронного документа. Обеспечивается использованием функций ЭЦП и квитированием приема документа (подпись квитанции получателем), хранением документа и квитанции с ЭЦП в течении установленного срока отправляющей стороной.
  • Защита от переповторов. Обеспечивается использованием криптографических функций ЭЦП, шифрования или имитозащиты с добавлением уникального идентификатора сетевой сессии (электронного документа) с последующей их проверкой приемной стороной или разработкой специализированного протокола аутентификации (обмена электронными документами).
  • Защита от навязывания информации. Зашита от нарушителя с целью навязывания им приемной стороне собственной информации, переданной якобы от лица санкционированного пользователя (нарушение авторства информации). Обеспечивается использованием функций ЭЦП с проверкой атрибутов электронного документа и открытого ключа отправителя. В случае навязывания информации про компрометации ключа обеспечивается организационно-техническими мероприятиями. Например, созданием системы централизованного управления ключевой информацией (оповещением абонентов) или специализированных протоколов электронного документооборота.
  • Защита от закладок, вирусов, модификации системного и прикладного ПО. Обеспечивается совместным использованием криптографических средств и организационных мероприятиях.
Читайте также:  Что такое net installer kali linux

Использование CryptoAPI

Использование CryptoAPI в ОС Windows/Solaris/Linux/FreeBSD преследует две главные цели:

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

На рисунке ниже приведена общая архитектура криптографических функций.

Общая архитектура CryptoAPI состоит из пяти основных функциональных групп:

Базовые криптографические функции

  • Функции инициализации (работы с контекстом). Эти функции предоставляют приложению возможность выбрать определенный криптопровайдер по типу имени или по требуемой функциональности.
  • Функции генерации ключей. Эти функции предназначены для формирования и хранения криптографических ключей различных типов.
  • Функции обмена ключами. Эти функции предназначены для того чтобы приложения могли обмениваться различными типами ключевой информации для обеспечения взаимодействия между собой.

Функции кодирования/декодирования

Данные функции предназначены для преобразование (кодирования) из внутреннего представления объектов, используемых в CryptoAPI, во внешнее представление и обратно. В качестве внешнего представления объектов используется формат ASN.1 (Abstracy Syntax Notation One), определенный серией рекомендаций X.680.

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

Функции работы со справочниками сертификатов

Эта группа функций предназначена для хранения и обработки сертификатов в различных типах справочников. Причем в качестве справочника могут использоваться самые различные типы хранилищ: от простого файла до LDAP.

Высокоуровневые функции обработки криптографических сообщений

Именно эта группа функций (Simplified Message Functions) в первую очередь предназначена для использования в прикладном ПО. С помощью этих функций можно:

  • Зашифровать/расшифровать сообщение от одного пользователя к другому.
  • Подписать данные.
  • Проверить подпись данных.

Эти функции (так же как и функции низкого уровня) оперируют сертификатами открытых ключей X.509 для адресации отправителя/получателя данных. В качестве формата данных, формируемых функциями, используется формат PKCS#7 (RFC2315) или CMS (RFC2630) в Windows.

Низкоуровневые функции обработки криптографических сообщений

Данная группа функция (Low Level Message Functions) предназначена для аналогичных целей, что и группа высокоуровневых функций, но обладает большей функциональностью. Вместе с тем большая функциональность потребует от прикладного программиста более детальных знаний в области прикладной криптографии.

Использование SSPI

Использование SSPI в ОС Windows/Solaris/Linux/FreeBSD преследует две главные цели:

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

Инструментарий разработчика CAPICOM

CAPICOM предоставляет COM-интерфейс, использующий основные функции CryptoAPI. Этот компонент является добавлением к уже существующему COM интерфейсу Certificate Enrollment Control (xenroll), который реализуют клиентские функции генерации ключей, запросов на сертификаты и обмена с центром сертификации.

С выпуском данного компонента стало возможным использование функций формирования и проверки электронной цифровой подписи, построения и проверки цепочек сертификатов, взаимодействия с различными справочниками сертификатов (включая Active Directory) с использованием Visual Basic, C++, JavaScript, VBScript и среды разработки Delphi.

Загрузить дистрибутив и примеры использования CAPICOM можно непосредственно с сайта Microsoft.

Подробную информацию о CAPICOM смотрите на сайте Microsoft в следующих разделах:

Инструментарий разработчика КриптоПро CSP SDK

КриптоПро CSP может использоваться для встраивания в прикладное программное путем непосредственного вызова функций КриптоПро CSP после загрузки модуля с использованием функции LoadLibrary.

Для этих целей в комплект поставки включается Руководство программиста (csp_2_0.chm, tls_2_0.chm для версии 2.0, CSP_3_0.chm, SSPI_3_0.chm, CAPILite_3_0.chm для версии 3.0), описывающее состав функций и тестовое ПО (sample2_0.zip для версии 2.0 и SDK для версии 3.0).

Руководство программиста и тестовое ПО для версии 3.6 доступны на странице загрузки.

Онлайн-версия руководства программиста для версии 3.6 также доступна на нашем сайте:

Тестовое ПО разработано с использованием компиляторов Microsoft Visual C++ (версия 2.0) и Microsoft Visual Studio .NET (для 3.0).

Для компиляции программ, входящих в тестовое ПО, дополнительно необходимы include файлы и библиотеки, входящие в Microsoft Windows Platform SDK.

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

Вы также можете получить уже скомпилированную тестовую программу csptest2_0.exe для версии 2.0 или SDK для версий 3.0 и выше.

Оцените статью