Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье представлен обзор функций шифрования, доступных для приложений WinUI. Подробные сведения о конкретных задачах см. в таблице в конце этой статьи.
Терминология
Следующая терминология часто используется в инфраструктуре шифрования и открытого ключа (PKI).
| Срок | Описание |
|---|---|
| Encryption | Процесс преобразования данных с помощью криптографического алгоритма и ключа. Преобразованные данные можно восстановить только с помощью того же алгоритма и того же (симметричного) или связанного (открытого) ключа. |
| Расшифровка | Процесс возврата зашифрованных данных в исходную форму. |
| Открытый текст | Первоначально ссылается на незашифрованное текстовое сообщение. В настоящее время относится к любым незашифрованным данным. |
| Шифротекст | Первоначально ссылается на зашифрованное и, следовательно, нечитаемое текстовое сообщение. В настоящее время это относится ко всем зашифрованным данным. |
| Хэширование | Процесс преобразования данных переменной длины в фиксированную длину, обычно меньшее значение. Сравнивая хэши, вы можете получить разумное подтверждение того, что два или более данных одинаковы. |
| Signature | Зашифрованный хэш цифровых данных обычно используется для проверки подлинности отправителя данных или проверки того, что данные не были изменены во время передачи. |
| Алгоритм | Пошаговая процедура шифрования данных. |
| Ключ | Случайный или псевдорандомный номер, используемый в качестве входных данных для шифрования и расшифровки данных. |
| Криптография симметричного ключа | Криптография, в которой шифрование и расшифровка используют тот же ключ. Это также называется криптографией секретного ключа. |
| Асимметричный ключ шифрования | Криптография, в которой шифрование и расшифровка используют другой, но математически связанный ключ. Это также называется криптографией открытого ключа. |
| Кодирование | Процесс кодирования цифровых сообщений, включая сертификаты, для транспорта по сети. |
| Поставщик алгоритмов | DLL, реализующая криптографический алгоритм. |
| Поставщик хранилища ключей | Контейнер для хранения ключевого материала. В настоящее время ключи можно хранить в программном обеспечении, смарт-картах или доверенном модуле платформы (TPM). |
| Сертификат X.509 | Цифровой документ, обычно выданный центром сертификации, для проверки личности отдельного лица, системы или сущности другим заинтересованным сторонам. |
Namespaces
Следующие пространства имен доступны для использования в приложениях.
Windows.Security.Cryptography
Содержит класс CryptographicBuffer и статические методы, которые позволяют:
- Преобразование данных в строки и из строк
- Преобразование данных в и из массивов байтов
- Кодирование сообщений для сетевого транспорта
- Декодирование сообщений после передачи
Windows.Security.Cryptography.Certificates
Содержит классы, интерфейсы и типы перечисления, которые позволяют:
- Создание запроса сертификата
- Установка ответа сертификата
- Импорт сертификата в PFX-файле
- Указание и получение свойств запроса сертификата
Windows.Security.Cryptography.Core
Содержит классы и типы перечисления, которые позволяют:
- Шифрование и расшифровка данных
- Хэш-данные
- Подписывайте данные и проверяйте подписи
- Создание, импорт и экспорт ключей
- Работа с поставщиками алгоритмов асимметричных ключей
- Работа с поставщиками алгоритмов симметричного ключа
- Работа с поставщиками хэш-алгоритмов
- Работа с поставщиками алгоритмов для кода аутентификации сообщений (MAC)
- Работа с поставщиками алгоритмов генерации ключей
Windows.Security.Cryptography.DataProtection
Содержит классы, которые позволяют выполнять следующие действия:
- Асинхронное шифрование и расшифровка статических данных
- Асинхронное шифрование и расшифровка потоков данных
Возможности приложений шифрования и PKI
Упрощенный интерфейс программирования приложений, доступный для приложений, включает следующие возможности инфраструктуры криптографических и открытых ключей (PKI).
Поддержка шифрования
Вы можете выполнить следующие задачи шифрования. Для получения дополнительной информации см. пространство имен Windows.Security.Cryptography.Core.
- Создание симметричного ключа
- Выполнение симметричного шифрования
- Создание асимметричных ключей
- Выполнение асимметричного шифрования
- Извлечение ключей на основе паролей
- Создание кодов проверки подлинности сообщений (MACs)
- Хэш-содержимое
- Цифровая подпись содержимого
Пакет SDK также предоставляет упрощенный интерфейс для защиты данных на основе паролей. Это можно использовать для выполнения следующих задач. Дополнительную информацию можно найти в пространстве имен Windows.Security.Cryptography.DataProtection.
- Асинхронная защита статических данных
- Асинхронная защита потока данных
Поддержка кодировки
Приложение может кодировать криптографические данные для передачи по сети и декодировать данные, полученные из сетевого источника. Дополнительные сведения см. в статических методах, доступных в пространстве имен Windows.Security.Cryptography .
Поддержка PKI
Приложения могут выполнять следующие задачи PKI. Дополнительные сведения см. в разделе пространства имен Windows.Security.Cryptography.Certificates.
- Создание сертификата
- Создание самозаверяющего сертификата
- Установка ответа сертификата
- Импорт сертификата в формате PFX
- Использование сертификатов и ключей смарт-карт (набор возможностей sharedUserCertificates)
- Использование сертификатов из пользовательского хранилища MY (набор возможностей sharedUserCertificates)
Кроме того, манифест можно использовать для выполнения следующих действий:
- Указание доверенных корневых сертификатов для каждого приложения
- Укажите доверенные сертификаты для каждого приложения отдельно
- Явно отключить наследование от системного доверия
- Укажите критерии выбора сертификата
- Только сертификаты оборудования
- Сертификаты, связанные через указанный набор удостоверяющих центров.
- Автоматическое выбор сертификата из хранилища приложений
Подробные статьи
Дополнительные сведения о сценариях безопасности см. в следующих статьях.
| Тема | Описание |
|---|---|
| Certificates | В этой статье рассматривается использование сертификатов в приложениях WinUI. Цифровые сертификаты используются в шифровании открытого ключа для привязки открытого ключа к лицу, компьютеру или организации. Привязанные учетные данные чаще всего используются для проверки подлинности одной сущности перед другой. Например, сертификаты часто используются для аутентификации веб-сервера перед пользователем и пользователя перед веб-сервером. Вы можете создавать запросы на сертификаты и устанавливать или импортировать выданные сертификаты. Вы также можете зарегистрировать сертификат в иерархии сертификатов. |
| Криптографические ключи | В этой статье показано, как использовать стандартные функции производных ключей для получения ключей и шифрования содержимого с помощью симметричных и асимметричных ключей. |
| Защита данных | В этой статье объясняется, как использовать класс DataProtectionProvider в пространстве имен Windows.Security.Cryptography.DataProtection для шифрования и расшифровки цифровых данных в приложении WinUI. |
| МАС, хэши и подписи | В этой статье описывается, как коды проверки подлинности сообщений (MACs), хэши и подписи можно использовать в приложениях WinUI для обнаружения изменения сообщений. |
| Ограничения на экспорт шифрования | Используйте эту информацию, чтобы определить, использует ли ваше приложение криптографию таким образом, который может помешать его публикации в Microsoft Store. |
| Распространенные задачи шифрования | В этих статьях приведен пример кода для распространенных задач шифрования WinUI, таких как создание случайных чисел, сравнение буферов, преобразование между строками и двоичными данными, копирование в массивы байтов и кодировка и декодирование данных. |
Windows developer