Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este Guia de início rápido mostra como usar mais SDKs de proteção MIP. Usando um dos modelos de proteção listados no Guia de início rápido anterior, você usa um manipulador de proteção para criptografar texto ad hoc. A classe do manipulador de proteção expõe várias operações para aplicar/remover a proteção.
Pré-requisitos
Se ainda não o fez, certifique-se de que preenche os seguintes pré-requisitos antes de continuar:
- Conclua primeiro o Guia de Início Rápido: Listar Modelos de Proteção (C#), que constrói uma solução inicial do Visual Studio, para listar os modelos de proteção disponíveis para o utilizador autenticado. Este guia de início rápido "Encriptar/Desencriptar texto" desenvolve-se a partir do anterior.
- Opcional: reveja os conceitos de manipuladores de proteção na MIP SDK.
Adicionar lógica para definir e obter um modelo de proteção
Adicione lógica para criptografar texto ad-hoc, usando o objeto Mecanismo de proteção.
Usando o Gerenciador de Soluções, abra o arquivo de .cs em seu projeto que contém a implementação do método Main()'. Por padrão, tem o mesmo nome do projeto que o contém, que especificou durante a criação do projeto.
Perto do final do corpo, onde o utilizador parou no Guia Rápido anterior, insira o seguinte código:
//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();
No final de localizar o bloco de desligamento do
Main()
aplicativo criado no primeiro início rápido e adicionar as linhas do manipulador:// Application Shutdown publishingHandler = null; consumptionHandler = null; protectionEngine = null; protectionProfile = null; mipContext = null;
Substitua os valores de marcadores de posição no código-fonte usando os seguintes valores:
Marcador de posição Valor <texto-exemplo> O texto de exemplo que você gostaria de criptografar, por exemplo: My secure text
.<ID do modelo> Um ID de modelo, extraído da saída do console no Quickstart anterior, por exemplo: bb7ed207-046a-4caf-9826-647cff56b990
.
Crie e teste o aplicativo
Crie e teste seu aplicativo cliente.
Use CTRL-SHIFT-B (Build Solution) para criar seu aplicativo cliente. Se você não tiver erros de compilação, use F5 (Iniciar depuração) para executar seu aplicativo.
Se o seu projeto for compilado e executado com êxito, o aplicativo poderá solicitar autenticação via ADAL cada vez que o SDK chamar seu
AcquireToken()
método. Se as credenciais em cache já existirem, você não será solicitado a entrar e ver a lista de rótulos, seguida pelas informações sobre o rótulo aplicado e o arquivo modificado.
Original content: My secure text
Encrypted content: c?_hp???Q??+<?
Decrypted content: My secure text
Press a key to quit.