Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом кратком руководстве показано, как использовать дополнительные возможности пакетов SDK MIP Protection. Используя один из шаблонов защиты, перечисленных в предыдущем кратком руководстве, вы используете обработчик защиты для шифрования нерегламентированного текста. Класс обработчика защиты предоставляет различные операции для применения и удаления защиты.
Предпосылки
Если вы еще не сделали этого, перед продолжением обязательно выполните следующие предварительные требования:
- Сначала выполните краткое руководство: Вывод списка шаблонов защиты (C#), в рамках которого создается начальное решение Visual Studio для перечисления шаблонов защиты, доступных пользователю, прошедшему аутентификацию. Это краткое руководство по шифрованию и расшифровке текста основывается на предыдущем руководстве.
- При необходимости: просмотрите концепции обработчиков защиты в MIP SDK.
Добавьте логику для установки и извлечения шаблона защиты
Добавьте логику для шифрования нерегламентированного текста с помощью объекта подсистемы защиты.
В Обозреватель решений откройте файл .cs в проекте, который содержит реализацию
Main()метода. По умолчанию используется то же имя, что и проект, содержащий его, указанный во время создания проекта.Ближе к концу раздела
Main()body, на котором вы остановились в предыдущем кратком руководстве, вставьте следующий код://Set text to encrypt and template ID string inputText = "<Sample-text>"; string templateId = "<template-id>"; //Create a template based publishing descriptor ProtectionDescriptor protectionDescriptor = new ProtectionDescriptor(templateId); //Create publishing settings using protection descriptor PublishingSettings publishingSettings = new PublishingSettings(protectionDescriptor); //Generate Protection Handler for publishing var publishingHandler = Task.Run(async() => await protectionEngine.CreateProtectionHandlerForPublishingAsync(publishingSettings)).Result; //Encrypt text using Publishing handler long bufferSize = publishingHandler.GetProtectedContentLength(inputText.Length, true); byte[] inputTextBuffer = Encoding.ASCII.GetBytes(inputText); byte[] encryptedTextBuffer = new byte[bufferSize]; publishingHandler.EncryptBuffer(0, inputTextBuffer, encryptedTextBuffer, true); Console.WriteLine("Original text: {0}", inputText); Console.WriteLine("Encrypted text: {0}", Encoding.UTF8.GetString(encryptedTextBuffer)); //Create a Protection handler for consumption using the same publishing license var serializedPublishingLicense = publishingHandler.GetSerializedPublishingLicense(); PublishingLicenseInfo plInfo = PublishingLicenseInfo.GetPublishingLicenseInfo(serializedPublishingLicense, mipContext); ConsumptionSettings consumptionSettings = new ConsumptionSettings(plInfo); var consumptionHandler = protectionEngine.CreateProtectionHandlerForConsumption(consumptionSettings); //Use the handler to decrypt the encrypted text long buffersize = encryptedTextBuffer.Length; byte[] decryptedBuffer = new byte[bufferSize]; var bytesDecrypted = consumptionHandler.DecryptBuffer(0, encryptedTextBuffer, decryptedBuffer, true); byte[] OutputBuffer = new byte[bytesDecrypted]; for (int i = 0; i < bytesDecrypted; i++){ OutputBuffer[i] = decryptedBuffer[i]; } Console.WriteLine("Decrypted content: {0}", Encoding.UTF8.GetString(OutputBuffer)); Console.WriteLine("Press a key to quit."); Console.ReadKey();Ближе к концу
Main()найдите блок завершения работы приложения, созданный в первом кратком руководстве, и добавьте строки обработчика:// Application Shutdown publishingHandler = null; consumptionHandler = null; protectionEngine = null; protectionProfile = null; mipContext = null;Замените значения заполнителей в исходном коде следующими значениями:
Замещающее поле Ценность <пример текста> Пример текста, который вы хотите зашифровать, например: My secure text<идентификатор шаблона> Идентификатор шаблона, скопированный из выходных данных консоли в предыдущем кратком руководстве, например: bb7ed207-046a-4caf-9826-647cff56b990
Создание и тестирование приложения
Создайте и протестируйте клиентское приложение.
Используйте Ctrl+Shift+B (Собрать решение), чтобы собрать клиентское приложение. Если у вас нет ошибок сборки, используйте F5 (начать отладку) для запуска приложения.
Если проект успешно собирается и запускается, приложение может запрашивать аутентификацию через MSAL каждый раз, когда SDK вызывает ваш метод
AcquireToken(). Если кэшированные учетные данные уже существуют, MSAL не запрашивает вход, а приложение отображает список меток, а затем сведения о примененной метке и измененном файле.
Original content: My secure text
Encrypted content: c?_hp???Q??+<?
Decrypted content: My secure text
Press a key to quit.
Дальнейшие действия
- Ознакомьтесь с примером пакета SDK для защиты MIP .NET на GitHub.