Quickstart: Initialisatie van clienttoepassingen voor beveiligings-SDK's (C#)

In deze quickstart ziet u hoe u het clientinitialisatiepatroon implementeert dat de MIP SDK .NET wrapper tijdens runtime gebruikt.

Opmerking

Elke clienttoepassing die gebruikmaakt van de Protection SDK van de MIP .NET-wrapper vereist de stappen in deze quickstart. Voltooi deze quickstarts achtereenvolgens nadat de toepassing is geïnitialiseerd en de delegateklassen voor verificatie en toestemming zijn geïmplementeerd.

Vereiste voorwaarden

Als u dat nog niet hebt gedaan, moet u het volgende doen:

Een Visual Studio-oplossing en -project maken

Maak en configureer eerst de eerste Visual Studio oplossing en het project waarop de andere quickstarts zijn gebaseerd.

  1. Open Visual Studio 2022 of hoger en selecteer het menu Bestand , Nieuw, Project. In het dialoogvenster Nieuw project :

    • Selecteer Windows Desktop in het linkerdeelvenster onder Geïnstalleerd, Visual C#.

    • Selecteer console-app (.NET Framework) in het middelste deelvenster.

    • Werk in het onderste deelvenster de projectnaam, locatie en de naam van de oplossing dienovereenkomstig bij.

    • Wanneer u klaar bent, selecteert u OK in de rechterbenedenhoek.

      Visual Studio oplossing maken.

  2. Voeg het NuGet-pakket voor de MIP Protection SDK toe aan uw project:

    • Klik in Solution Explorer met de rechtermuisknop op het projectknooppunt onder het bovenste oplossingsknooppunt en selecteer NuGet-pakketten beheren...:
    • Wanneer het tabblad NuGet Pakketbeheer wordt geopend in het gebied Tabbladen Editorgroep:
      • Kies Bladeren.
      • Typ Microsoft.InformationProtection in het zoekvak.
      • Selecteer het Microsoft.InformationProtection.Protection pakket.
      • Selecteer Installeren en selecteer VERVOLGENS OK wanneer het bevestigingsdialoogvenster voorbeeldwijzigingen wordt weergegeven.
  3. Herhaal de vorige stappen, maar voeg in plaats daarvan Microsoft.Identity.Client (MSAL) toe aan de toepassing.

Als dit nog niet is geïmplementeerd, volgt u de stappen in de initialisatie van de File SDK-toepassing om de verificatie- en toestemmingsdelegering te implementeren.

De beheerde wrapper van de MIP SDK initialiseren

  1. Open vanuit Solution Explorer het bestand .cs in uw project dat de implementatie van de Main() methode bevat. Deze wordt standaard ingesteld op dezelfde naam als het project dat het bevat, die u hebt opgegeven tijdens het maken van het project.

  2. Verwijder de gegenereerde implementatie van main().

  3. De beheerde wrapper bevat een statische klasse, Microsoft.InformationProtection.MIPvoor initialisatie, het maken van een MipContext, laadprofielen en het vrijgeven van resources. Als u de wrapper voor bewerkingen van de Protection SDK wilt initialiseren, roept u MIP.Initialize() aan en geeft u MipComponent.Protection mee om de bibliotheken te laden die nodig zijn voor beveiligingsbewerkingen.

  4. Voeg Main() in Program.cs de volgende code toe, waarbij u <de toepassings-id> vervangt door de id van de Microsoft Entra toepassingsregistratie die u eerder hebt gemaakt.

using System;
using System.Threading.Tasks;
using Microsoft.InformationProtection;
using Microsoft.InformationProtection.Exceptions;
using Microsoft.InformationProtection.Protection;

namespace mip_sdk_dotnet_quickstart
{
    class Program
    {
        private const string clientId = "<application-id>";
        private const string appName = "<friendly-name>";

        static void Main(string[] args)
        {
            //Initialize Wrapper for Protection SDK operations
            MIP.Initialize(MipComponent.Protection);
        }
    }
}

Een beveiligingsprofiel en -engine maken

Zoals vermeld, vereisen SDK-clients die gebruikmaken van MIP-API's profiel- en engine-objecten. Voltooi het codegedeelte van deze quickstart door code toe te voegen om de systeemeigen DLL's te laden en vervolgens het profiel- en engineobject te instantiëren.

using System;
using System.Threading.Tasks;
using Microsoft.InformationProtection;
using Microsoft.InformationProtection.Exceptions;
using Microsoft.InformationProtection.Protection;

namespace mip_sdk_dotnet_quickstart
{
     class Program
     {
          private const string clientId = "<application-id>";
          private const string appName = "<friendly-name>";

          static void Main(string[] args)
          {
               // Initialize Wrapper for Protection SDK operations.
               MIP.Initialize(MipComponent.Protection);

               // Create ApplicationInfo, setting the clientID from Azure AD App Registration as the ApplicationId.
               ApplicationInfo appInfo = new ApplicationInfo()
               {
                    ApplicationId = clientId,
                    ApplicationName = appName,
                    ApplicationVersion = "1.0.0"
               };

               // Instantiate the AuthDelegateImpl object, passing in AppInfo.
               AuthDelegateImplementation authDelegate = new AuthDelegateImplementation(appInfo);

               // Create MipConfiguration Object
               MipConfiguration mipConfiguration = new MipConfiguration(appInfo, "mip_data", LogLevel.Trace, false, CacheStorageType.OnDiskEncrypted);

               // Create MipContext using Configuration
               MipContext mipContext = MIP.CreateMipContext(mipConfiguration);
                
               // Initialize and instantiate the ProtectionProfile.
               // Create the ProtectionProfileSettings object.
               // Initialize protection profile settings to create/use local state.
               var profileSettings = new ProtectionProfileSettings(mipContext,
                                        CacheStorageType.OnDiskEncrypted,                                        
                                        new ConsentDelegateImplementation());

               // Load the Profile async and wait for the result.
               var protectionProfile = Task.Run(async () => await MIP.LoadProtectionProfileAsync(profileSettings)).Result;

               // Create a ProtectionEngineSettings object, then use that to add an engine to the profile.
               var engineSettings = new ProtectionEngineSettings("user1@tenant.com", authDelegate, "", "en-US");
               engineSettings.Identity = new Identity("user1@tenant.com");
               var protectionEngine = Task.Run(async () => await protectionProfile.AddEngineAsync(engineSettings)).Result;

               // Application Shutdown
               // handler = null; // This will be used in later quick starts.
               protectionEngine = null;
               protectionProfile = null;
               mipContext = null;
          }
     }
}
  1. Vervang de tijdelijke aanduidingen in de broncode die u hebt geplakt door de volgende waarden te gebruiken:

    Plaatsvervanger Waarde Voorbeeld
    <toepassings-id> De Microsoft Entra-toepassings-id die is toegewezen aan de toepassing die is geregistreerd in 'MIP SDK setup and configuration' (2 exemplaren). 00001111-aaaa-2222-bbbb-3333cccc44444
    <vriendelijke naam> Een door de gebruiker gedefinieerde gebruikersvriendelijke naam voor uw toepassing. Applicatieinitialisatie
  2. Voer nu een definitieve build van de toepassing uit en los eventuele fouten op. Uw code moet goed worden gebouwd.

Volgende stappen 

Nu uw initialisatiecode is voltooid, bent u klaar voor de volgende quickstart, waar u de MIP Protection SDK's gaat ervaren.