Sdílet prostřednictvím


Rychlý start: Šifrování a dešifrování textu pomocí sady MIP SDK (C#)

V tomto průvodci Quickstart se dozvíte, jak používat další MIP Protection SDK. Pomocí jedné ze šablon ochrany, které jste uvedli v předchozím rychlém startu, použijete obslužnou rutinu ochrany k šifrování ad hoc textu. Třída zpracovatele ochrany nabízí různé operace pro aplikaci nebo odstranění ochrany.

Požadavky

Pokud jste to ještě neudělali, nezapomeňte před pokračováním dokončit následující požadavky:

Přidejte logiku k nastavení a získání šablony ochrany

Přidejte logiku pro šifrování ad hoc textu pomocí objektu modulu ochrany.

  1. Pomocí Průzkumníka řešení otevřete v projektu soubor .cs, který obsahuje implementaci metody Main(). Ve výchozím nastavení se použije stejný název jako projekt, který obsahuje, který jste zadali při vytváření projektu.

  2. Na konec Main() textu, kde jste skončili v předchozím rychlém startu, vložte následující kód:

    //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();
    
    
  3. Směrem ke konci Main() najděte blok vypnutí aplikace vytvořený během prvního rychlého spuštění a přidejte řádky obslužné rutiny:

    // Application Shutdown
    publishingHandler = null;
    consumptionHandler = null;
    protectionEngine = null;
    protectionProfile = null;
    mipContext = null;
    
  4. Zástupné hodnoty ve zdrojovém kódu nahraďte následujícími hodnotami:

    Zástupný text Hodnota
    <ukázkový text> Ukázkový text, který chcete zašifrovat, například: My secure text.
    <šablona-id> ID šablony zkopírované z výstupu konzoly v předchozím rychlém startu, například: bb7ed207-046a-4caf-9826-647cff56b990.

Sestavení a otestování aplikace

Sestavte a otestujte klientskou aplikaci.

  1. K sestavení klientské aplikace stiskněte kombinaci kláves CTRL +SHIFT-B (Build Solution). Pokud nemáte žádné chyby sestavení, spusťte aplikaci pomocí klávesy F5 (spustit ladění).

  2. Pokud se projekt sestaví a úspěšně spustí, aplikace může při každém volání vaší AcquireToken() metody vyžadovat ověření prostřednictvím knihovny ADAL. Pokud přihlašovací údaje uložené v mezipaměti už existují, nebudete vyzváni k přihlášení a zobrazí se seznam popisků a informace o použitém popisku a upraveném souboru.

 Original content: My secure text
 Encrypted content: c?_hp???Q??+<?
 Decrypted content: My secure text
 Press a key to quit.