CryptoProvider Property
Collapse the table of content
Expand the table of content

RightsManagementInformation.CryptoProvider Property


Gets or sets the CryptoProvider for accessing the package's encrypted rights management data stream.

Namespace:   System.IO.Packaging
Assembly:  WindowsBase (in WindowsBase.dll)

Public Property CryptoProvider As CryptoProvider

Property Value

Type: System.Security.RightsManagement.CryptoProvider

The CryptoProvider for accessing the rights management information.

The following example shows how to set the CryptoProvider property.

ShowStatus("   Binding UseLicense with the SecureEnvironment" & vbLf & "       to obtain the CryptoProvider.")
rmi.CryptoProvider = useLicense.Bind(_secureEnv)

ShowStatus("   Obtaining BoundGrants.")
grants = rmi.CryptoProvider.BoundGrants

' You can access the Package via GetPackage() at this point.

rightsBlock.Text = "GRANTS LIST" & vbLf & "-----------" & vbLf
For Each grant As ContentGrant In grants
	rightsBlock.Text &= "USER  :" & grant.User.Name & " [" & grant.User.AuthenticationType & "]" & vbLf
	rightsBlock.Text &= "RIGHT :" & grant.Right.ToString()+vbLf
	rightsBlock.Text &= "    From:  " & grant.ValidFrom & vbLf
	rightsBlock.Text &= "    Until: " & grant.ValidUntil & vbLf
Next grant

The following example shows how to access the CryptoProvider property.

If rmi.CryptoProvider.CanDecrypt = True Then
	ShowStatus("   Decryption granted.")
	ShowStatus("   CANNOT DECRYPT!")
End If

ShowStatus("   Getting the Package from" & vbLf & "      the EncryptedPackage.")
_xpsPackage = ePackage.GetPackage()
If _xpsPackage Is Nothing Then
	MessageBox.Show("Unable to get Package.")
	Return False
End If

' Set a PackageStore Uri reference for the encrypted stream.
' ("sdk://packLocation" is a pseudo URI used by
'  PackUriHelper.Create to define the parserContext.BaseURI
'  that XamlReader uses to access the encrypted data stream.)
Dim packageUri As New Uri("sdk://packLocation", UriKind.Absolute)
' Add the URI package
PackageStore.AddPackage(packageUri, _xpsPackage)
' Determine the starting part for the package.
Dim startingPart As PackagePart = GetPackageStartingPart(_xpsPackage)

' Set the DocViewer.Document property.
ShowStatus("   Opening in DocumentViewer.")
Dim parserContext As New ParserContext()
parserContext.BaseUri = PackUriHelper.Create(packageUri, startingPart.Uri)
parserContext.XamlTypeMapper = XamlTypeMapper.DefaultMapper
            DocViewerProperty.Document = TryCast(XamlReader.Load(startingPart.GetStream(), parserContext), IDocumentPaginatorSource)

' Enable document menu controls.
menuFileClose.IsEnabled = True
menuFilePrint.IsEnabled = True
menuViewIncreaseZoom.IsEnabled = True
menuViewDecreaseZoom.IsEnabled = True

' Give the DocumentViewer focus.

.NET Framework
Available since 3.0
Return to top
© 2016 Microsoft