Szybki start: szyfrowanie/odszyfrowywanie tekstu przy użyciu zestawu SDK MIP (C#)
W tym przewodniku Szybki start pokazano, jak korzystać z większej liczby zestawów SDK ochrony przed miP. Korzystając z jednego z szablonów ochrony wymienionych w poprzednim przewodniku Szybki start, możesz użyć programu obsługi ochrony w celu szyfrowania tekstu ad hoc. Klasa programu obsługi ochrony udostępnia różne operacje na celu zastosowanie/usunięcie ochrony.
Wymagania wstępne
Jeśli jeszcze tego nie zrobić, przed kontynuowaniem upewnij się, że są spełnione następujące wymagania wstępne:
- Pełny przewodnik Szybki start: najpierw szablony ochrony listy (C#), które tworzy Visual Studio startowe, aby wyświetlić listę szablonów ochrony dostępnych dla uwierzytelnionego użytkownika. Ten przewodnik Szybki start "Szyfrowanie/odszyfrowywanie tekstu" opiera się na poprzedniej.
- Opcjonalnie: Programy obsługi przeglądów funkcji Ochrona w pojęciach zestawu SDK MIP.
Dodawanie logiki w celu ustawienia i uzyskania etykiety wrażliwości
Dodaj logikę w celu zaszyfrowania tekstu ad hoc przy użyciu obiektu aparatu ochrony.
Za pomocą Eksploratorarozwiązań otwórz plik cs w projekcie, który zawiera implementację metody Main()'. Domyślna nazwa jest taka sama jak nazwa projektu zawierającego projekt, która jest określona podczas tworzenia projektu.
Na końcu treści, w miejscu, w którym wcześniej był wyłączany poprzedni szybki
Main()start, wstaw następujący 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 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();Na końcu znajdź blok zamykania aplikacji utworzony podczas pierwszego szybkiego startu i
Main()dodaj linie obsługi:// Application Shutdown publishingHandler = null; consumptionHandler = null; protectionEngine = null; protectionProfile = null; mipContext = null;Zamień wartości zastępcze w kodzie źródłowym na następujące wartości:
Symbol zastępczy Wartość <przykładowy tekst> Przykładowy tekst, który chcesz zaszyfrować, na przykład: My secure text.<template-id> Identyfikator szablonu skopiowany z danych wyjściowych konsoli w poprzednim przewodniku Szybki start, na przykład: bb7ed207-046a-4caf-9826-647cff56b990.
Tworzenie i testowanie aplikacji
Skompilowanie i testowanie aplikacji klienckiej.
Do tworzenia aplikacji klienckiej użyj klawiszy CTRL-SHIFT-B(rozwiązaniekompilacji). Jeśli nie występują błędy kompilacji, użyj klawisza F5(Rozpocznijdebugowanie), aby uruchomić aplikację.
Jeśli projekt zostanie pomyślnie skompilowany i uruchomiony, aplikacja może za każdym razem, gdy zestaw SDK wywoła metodę, może zostać wyświetlony monit o uwierzytelnienie za pośrednictwem usługi ADAL. Jeśli poświadczenia buforowane już istnieją, nie zostanie wyświetlony monit o zalogowanie się i wyświetlanie listy etykiet oraz informacji na zastosowanej etykiecie i zmodyfikowanym pliku.
Original content: My secure text
Encrypted content: c?_hp???Q??+<?
Decrypted content: My secure text
Press a key to quit.