Freigeben über


Schnellstart: Verschlüsseln/Entschlüsseln von Text mit MIP SDK (C#)

In dieser Schnellstartanleitung erfahren Sie, wie Sie mehr der MIP-Schutz-SDKs verwenden. Mithilfe einer der Schutzvorlagen, die Sie in der vorherigen Schnellstartanleitung aufgeführt haben, verwenden Sie einen Schutzhandler zum Verschlüsseln von Ad-hoc-Text. Die Protection-Handlerklasse macht verschiedene Vorgänge zum Anwenden/Entfernen des Schutzes verfügbar.

Voraussetzungen

Falls noch nicht geschehen, stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllen, bevor Sie fortfahren:

  • Führen Sie die Schnellstartanleitung: Listenschutzvorlagen (C#) zuerst aus, die eine Starterlösung in Visual Studio erstellt, um die für authentifizierte Benutzer verfügbaren Schutzvorlagen aufzulisten. Diese Schnellstartanleitung "Text verschlüsseln/entschlüsseln" baut auf dem vorherigen auf.
  • Optionalerweise: Überprüfen Sie die Konzepte der Schutzhandler im MIP SDK.

Hinzufügen von Logik zum Festlegen und Abrufen einer Schutzvorlage

Fügen Sie Mithilfe des Protection-Modulobjekts Logik zum Verschlüsseln von Ad-hoc-Text hinzu.

  1. Öffnen Sie im Projektmappen-Explorer die datei .cs in Ihrem Projekt, die die Implementierung der Main()'-Methode enthält. Standardmäßig wird derselbe Name wie das Projekt verwendet, das es enthält, das Sie während der Projekterstellung angegeben haben.

  2. Fügen Sie am Ende des Main() Textkörpers, auf dem Sie in der vorherigen Schnellstartanleitung aufgehört haben, den folgenden Code ein:

    //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();
    
    
  3. Am Ende von Main(), finden Sie den Anwendungsschließungsblock, der im ersten Schnellstart erstellt wurde, und fügen Sie die Handlerzeilen hinzu:

    // Application Shutdown
    publishingHandler = null;
    consumptionHandler = null;
    protectionEngine = null;
    protectionProfile = null;
    mipContext = null;
    
  4. Ersetzen Sie die Platzhalterwerte im Quellcode durch die folgenden Werte:

    Platzhalter Wert
    <Beispieltext> Der Beispieltext, den Sie verschlüsseln möchten, z. B.: My secure text.
    <Vorlagen-ID> Eine Vorlagen-ID, die aus der Konsolenausgabe in der vorherigen Schnellstartanleitung kopiert wurde, z. B.: bb7ed207-046a-4caf-9826-647cff56b990.

Erstellen und Testen der Anwendung

Erstellen und testen Sie Ihre Clientanwendung.

  1. Verwenden Sie STRG-SHIFT-B (Lösung erstellen), um Ihre Clientanwendung zu erstellen. Wenn keine Buildfehler auftreten, verwenden Sie F5 (Debuggen starten), um Ihre Anwendung auszuführen.

  2. Wenn Ihr Projekt erfolgreich erstellt und ausgeführt wird, fordert die Anwendung möglicherweise jedes Mal, wenn das SDK Ihre AcquireToken() Methode aufruft, zur Authentifizierung über MSAL auf. Wenn bereits zwischengespeicherte Anmeldeinformationen vorhanden sind, werden Sie nicht aufgefordert, sich anzumelden. Stattdessen sehen Sie die Liste der Labels sowie Informationen über das angewendete Label und die geänderte Datei.

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