Schnellstart: Verschlüsseln und Entschlüsseln von Text mithilfe des 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 aufgelistet haben, verwenden Sie einen Schutzhandler, um Ad-hoc-Text zu verschlüsseln. Die Protection-Handlerklasse macht verschiedene Vorgänge zum Anwenden und Entfernen des Schutzes verfügbar.

Voraussetzungen

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

  • Schließen Sie zuerst Schnellstart: Schutzvorlagen auflisten (C#) ab. Dadurch wird eine Visual Studio-Startlösung erstellt, mit der die dem authentifizierten Benutzer zur Verfügung stehenden Schutzvorlagen aufgelistet werden. Diese Schnellstartanleitung "Text verschlüsseln und 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 in 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, 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();
    
    
  3. Gegen Ende von Main() finden Sie den Block zum Herunterfahren der Anwendung, den der erste Schnellstart erstellt hat, 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 mithilfe der 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+UMSCHALT+B (Projektmappe kompilieren), um Ihre Clientanwendung zu kompilieren. 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 von MSAL nicht aufgefordert, sich anzumelden, und die Anwendung zeigt die Liste der Bezeichnungen an, gefolgt von den Informationen zur angewendeten Bezeichnung und geänderten Datei.

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

Nächste Schritte