Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här snabbstarten visar hur du använder fler MIP Protection SDK:er. Genom att använda en av de skyddsmallar som du angav i föregående snabbstart använder du en skyddshanterare för att kryptera ad hoc-text. Klassen Skyddshanterare exponerar olika åtgärder för att tillämpa och ta bort skydd.
Förutsättningar
Om du inte redan har gjort det måste du slutföra följande krav innan du fortsätter:
- Slutför snabbstart: Lista skyddsmallar (C#) först, som skapar en startlösning Visual Studio för att lista de skyddsmallar som är tillgängliga för den autentiserade användaren. Snabbstarten "Kryptera och dekryptera text" bygger på den föregående.
- Alternativt: Granska koncepten för skyddshanterare i MIP SDK.
Lägga till logik för att ange och hämta en skyddsmall
Lägg till logik för att kryptera ad hoc-text med hjälp av objektet Skyddsmotor.
I Prieskumník riešení öppnar du filen .cs i projektet som innehåller implementeringen av
Main()metoden. Det är som standard samma namn som det projekt som innehåller det, som du angav när projektet skapades.Mot slutet av brödtexten
Main(), där du slutade i föregående snabbstart, infogar du följande kod://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();Mot slutet av
Main()hittar du det block för programavstängning som den första snabbstarten skapade och lägger till hanteringsraderna:// Application Shutdown publishingHandler = null; consumptionHandler = null; protectionEngine = null; protectionProfile = null; mipContext = null;Ersätt platshållarvärdena i källkoden med hjälp av följande värden:
Platshållare Värde <exempel-text> Exempeltexten som du vill kryptera, till exempel: My secure text.<template-id> Ett mall-ID som kopierades från konsolens utdata i föregående snabbstart, till exempel: bb7ed207-046a-4caf-9826-647cff56b990.
Skapa och testa programmet
Skapa och testa klientprogrammet.
Använd Ctrl+Skift+B (bygglösning) för att skapa klientprogrammet. Om du inte har byggfel använder du F5 (Starta felsökning) för att köra programmet.
Om projektet byggs och körs korrekt kan programmet fråga efter autentisering via MSAL varje gång SDK anropar din
AcquireToken()metod. Om cachelagrade autentiseringsuppgifter redan finns uppmanar MSAL dig inte att logga in, och programmet visar listan med etiketter, följt av informationen på den tillämpade etiketten och den ändrade filen.
Original content: My secure text
Encrypted content: c?_hp???Q??+<?
Decrypted content: My secure text
Press a key to quit.
Nästa steg
- Utforska MIP Protection SDK .NET exempel på GitHub.