Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом кратком руководстве показано, как использовать больше возможностей SDK для защиты MIP. Используя один из шаблонов защиты, перечисленных в предыдущем кратком руководстве, вы используете обработчик защиты для шифрования нерегламентированного текста. Класс обработчика защиты предоставляет различные операции для применения и удаления защиты.
Предпосылки
Если вы еще не сделали этого, перед продолжением обязательно выполните следующие предварительные требования:
- Завершите Краткое руководство: Список шаблонов защиты (C#) сначала, которое создает начальное решение Visual Studio, чтобы перечислить шаблоны защиты, доступные для аутентифицированного пользователя. Это краткое руководство по шифрованию и расшифровке текста основывается на предыдущем.
- При необходимости: просмотрите концепции обработчиков защиты в MIP SDK.
Добавьте логику для установки и извлечения шаблона защиты
Добавьте логику для шифрования нерегламентированного текста с помощью объекта подсистемы защиты.
В обозревателе решений откройте файл .cs в проекте, который содержит реализацию метода Main()". По умолчанию используется то же имя, что и проект, содержащий его, указанный во время создания проекта.
В конце
Main()тела, там, где вы остановились в предыдущем кратком руководстве, вставьте следующий код://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); 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<идентификатор шаблона> Идентификатор шаблона, скопированный из выходных данных консоли в предыдущем Quickstart-е, например: bb7ed207-046a-4caf-9826-647cff56b990
Создание и тестирование приложения
Создайте и протестируйте клиентское приложение.
Используйте клавиши CTRL-SHIFT-B (сборка решения) для создания клиентского приложения. Если у вас нет ошибок сборки, используйте F5 (начать отладку) для запуска приложения.
Если проект успешно выполняется и запускается, приложение может запрашивать проверку подлинности через MSAL каждый раз при вызове метода
AcquireToken()SDK. Если кэшированные учетные данные уже существуют, вам не будет предложено войти в систему и просмотреть список меток, а затем сведения о примененной метке и измененном файле.
Original content: My secure text
Encrypted content: c?_hp???Q??+<?
Decrypted content: My secure text
Press a key to quit.