Rövid útmutató: Szöveg titkosítása/visszafejtése a MIP SDK használatával (C#)
Ez a rövid útmutató bemutatja, hogyan használhat több MIP Protection SDK-t. Az előző rövid útmutatóban felsorolt védelmi sablonok egyikével egy Védelmi kezelővel titkosíthatja az alkalmi szövegeket. A Védelmi kezelő osztály különböző műveleteket tesz elérhetővé a védelem alkalmazásához/eltávolításához.
Előfeltételek
Ha még nem tette meg, a folytatás előtt mindenképpen végezze el a következő előfeltételeket:
- Kész rövid útmutató: Elsőként listázzon védelmi sablonokat (C#), amelyek egy kezdő Visual Studio-megoldást építenek ki a hitelesített felhasználók számára elérhető védelmi sablonok listázásához. Ez a "Szöveg titkosítása/visszafejtése" rövid útmutató az előzőre épül.
- Opcionálisan: Tekintse át a Védelmi kezelőket a MIP SDK fogalmaiban.
Logikai elem hozzáadása védelmi sablon beállításához és lekéréséhez
Adjon hozzá logikát az alkalmi szövegek titkosításához a Védelmi motor objektummal.
A Megoldáskezelő használatával nyissa meg a Main() metódus implementálását tartalmazó .cs fájlt a projektben. Alapértelmezés szerint ugyanaz a név lesz, mint a projektet tartalmazó projekt, amelyet a projekt létrehozásakor adott meg.
A törzs vége
Main()
felé, ahol az előző rövid útmutatóban abbahagyta, szúrja be a következő kódot://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();
Az első rövid útmutatóban létrehozott alkalmazásleállítási blokk megkeresésének
Main()
vége felé adja hozzá a kezelővonalakat:// Application Shutdown publishingHandler = null; consumptionHandler = null; protectionEngine = null; protectionProfile = null; mipContext = null;
Cserélje le a helyőrző értékeket a forráskódban a következő értékekkel:
Helyőrző Value <mintaszöveg> A titkosítandó mintaszöveg, például: My secure text
.<sablonazonosító> Az előző rövid útmutatóban a konzol kimenetéből másolt sablonazonosító, például: bb7ed207-046a-4caf-9826-647cff56b990
.
Az alkalmazás létrehozása és tesztelése
Hozza létre és tesztelje az ügyfélalkalmazást.
Az ügyfélalkalmazás létrehozásához használja a CTRL-SHIFT-B (Build Solution) parancsot. Ha nincsenek buildelési hibái, használja az F5 (Hibakeresés indítása) lehetőséget az alkalmazás futtatásához.
Ha a projekt sikeresen épül és fut, előfordulhat, hogy az alkalmazás az ADAL-on keresztüli hitelesítést kér minden alkalommal, amikor az SDK meghívja a metódust
AcquireToken()
. Ha a gyorsítótárazott hitelesítő adatok már léteznek, a rendszer nem fogja kérni, hogy jelentkezzen be, és tekintse meg a címkék listáját, majd az alkalmazott címkére és a módosított fájlra vonatkozó információkat.
Original content: My secure text
Encrypted content: c?_hp???Q??+<?
Decrypted content: My secure text
Press a key to quit.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: