Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En esta guía rápida se muestra cómo usar más de los SDKs de protección de MIP. Con una de las plantillas de protección que enumeraste en la Guía Rápida anterior, utilizas un controlador de protección para cifrar texto ad hoc. La clase Controlador de protección expone varias operaciones para aplicar o quitar la protección.
Prerrequisitos
Si aún no lo ha hecho, asegúrese de completar los siguientes requisitos previos antes de continuar:
- Primero complete el Inicio rápido: Enumerar plantillas de protección (C#), que crea una solución inicial en Visual Studio, para enumerar las plantillas de protección disponibles para el usuario autenticado. Esta guía de inicio rápido "Cifrar y descifrar texto" se basa en la anterior.
- Por opción: revisa los conceptos de los controladores de protección en el SDK de MIP.
Añade lógica para establecer y obtener una plantilla de protección
Agregue lógica para cifrar texto ad hoc mediante el objeto del motor de protección.
Con el Explorador de soluciones, abra el archivo .cs en el proyecto que contiene la implementación del método Main()' . El valor predeterminado es el mismo nombre que el proyecto que lo contiene, que especificó durante la creación del proyecto.
Hacia la parte final del cuerpo de
Main()
, donde lo ha dejado en el inicio rápido anterior, inserte el código siguiente://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 licence 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();
Hacia el final de
Main()
, busque el bloque de cierre de la aplicación creado en el primer inicio rápido y agregue líneas de controlador:// Application Shutdown publishingHandler = null; consumptionHandler = null; protectionEngine = null; protectionProfile = null; mipContext = null;
Reemplace los valores de marcador de posición en el código fuente con los siguientes valores:
Marcador de posición Importancia <texto de muestra> El texto de ejemplo que desea cifrar, por ejemplo: My secure text
.<identificador de plantilla> Identificador de plantilla, copiado de la salida de la consola en el inicio rápido anterior, por ejemplo: bb7ed207-046a-4caf-9826-647cff56b990
.
Crear y probar la aplicación
Compile y pruebe la aplicación cliente.
Utiliza CTRL-SHIFT-B (Compilar Solución) para compilar tu aplicación cliente. Si no tiene errores de compilación, use F5 (Iniciar depuración) para ejecutar la aplicación.
Si tu proyecto se compila y ejecuta correctamente, la aplicación podría solicitar autenticación a través de ADAL cada vez que el SDK llame a tu método
AcquireToken()
. Si ya existen credenciales almacenadas en caché, no se le pedirá que inicie sesión y vea la lista de etiquetas, seguida de la información sobre la etiqueta aplicada y el archivo modificado.
Original content: My secure text
Encrypted content: c?_hp???Q??+<?
Decrypted content: My secure text
Press a key to quit.