We're pleased to announce the general availability of the Microsoft Information Protection SDK version 1.1!
The downloads are available via NuGet (Microsoft.InformationProtection.*) or https://aka.ms/mipsdkbins.
In addition to our already-supported platforms, we now additionally support:
We've made several updates in the areas performance and reliability, and added several new features to this 1.1 release. Read on to learn more about what's new in each of the APIs and across the SDK!
We'll cover more on the .NET wrapper in a subsequent post. The wrapper is available via NuGet as part of the Microsoft.InformationProtection.File package. The wrapper sits on top of the native C++ libraries. Currently, the .NET wrapper is available only for File API. Head to https://aka.ms/mipsdksamples to view all of our available samples!
Install via NuGet Package Manager, or the console:
Install-Package Microsoft.InformationProtection.File
.NET 4.0 and .NET Standard 2.0 are both supported in this release.
Protection API Updates
ProtectionDescriptor
via the DoesContentExpire()
function.mip::PolicyEngine
via mip::PolicyProfile::Observer::OnAddEngineStarting
.GetCustomSettings
property on Label
objects.mip::FileEngine
via mip::FileProfile::Observer::OnAddPolicyEngineStarting
.FileHandler.GetSerializedPublishingLicense()
AuthDelegate
or HTTPDelegate
may now be invoked on any background thread.ApplicationInfo
when creating FileProfile
, PolicyProfile
, and ProtectionProfile
. It's recommended to set the Application ID to the same value as the Azure Active Directory client ID (configured in AAD App Registration).FileExecutionState
interface when creating FileHandlers
. This is required when implementing a classification engine.The 1.1 release includes support for retrieving sensitivity types. These types can be retrieved via FileEngine
or PolicyEngine
by setting the loadSensitivityTypes
parameters on the engine settings to true
and then the sensitivity types are returned via the SensitivityTypes
property of the engine.
//The last parameter is loadSensitivityTypes
//cpp
FileEngine::Settings engineSettings(mip::Identity(mUsername), "", "en-US", true);
//csharp var engineSettings = new FileEngineSettings(engineId, "", "en-US") { LoadSensitivityTypes = true }; var sensitivityTypes = fileEngine.SensitivityTypes;
The SDK doesn't implement performing classification. Developers must integrate a classification engine through the GetClassificationResults
callback in either FileExecutionState
(File API) or ExecutionState
(Policy API). We'll cover this in-depth in coming blogs and samples.
Updated Exceptions
NoAuthTokenError
thrown if application's AuthDelegate returns an empty token (e.g. due to cancellation)
FileEngine
FileHandler
PolicyEngine
ProtectionHandler
NoPolicyError
thrown if tenant is not configured for labels
FileEngine
PolicyEngine
ServiceDisabledError
thrown if RMS service is disabled for a specific user/device/platform/tenant
FileHandler
ProtectionHandler
mip::NoPermissionsError
thrown if a user does not have rights to decrypt a document or the content is expired
FileHandler
ProtectionHandler
While we've released support for iOS and Android, we're still working on sample apps and a few quick start guides. If you're an experienced mobile developer grab them today and get started. Look for the mobile quick starts to arrive at https://aka.ms/mipsdkdocs in the next couple of weeks!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.