RightsManagementInformation Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Representa informação de Gestão de Direitos Digitais (DRM) que está armazenada num EncryptedPackageEnvelopearquivo .
public ref class RightsManagementInformation
public class RightsManagementInformation
type RightsManagementInformation = class
Public Class RightsManagementInformation
- Herança
-
RightsManagementInformation
Exemplos
O exemplo seguinte mostra como inicializar um RightsManagementInformation objeto para encriptação.
WriteStatus(" Signing the UnsignedPublishLicense\n" +
" to build the PublishLicense.");
UseLicense authorsUseLicense;
PublishLicense publishLicense =
unsignedLicense.Sign(_secureEnv, out authorsUseLicense);
WriteStatus(" Binding the author's UseLicense and");
WriteStatus(" obtaining the CryptoProvider.");
CryptoProvider cryptoProvider = authorsUseLicense.Bind(_secureEnv);
WriteStatus(" Creating the EncryptedPackage.");
Stream packageStream = File.OpenRead(packageFile);
EncryptedPackageEnvelope ePackage =
EncryptedPackageEnvelope.CreateFromPackage(encryptedFile,
packageStream, publishLicense, cryptoProvider);
WriteStatus(" Adding an author's UseLicense.");
RightsManagementInformation rmi =
ePackage.RightsManagementInformation;
rmi.SaveUseLicense(author, authorsUseLicense);
ePackage.Close();
WriteStatus(" Done - Package encryption complete.");
WriteStatus("Verifying package encryption.");
if (EncryptedPackageEnvelope.IsEncryptedPackageEnvelope(encryptedFile))
{
WriteStatus(" Confirmed - '" + encryptedFilename +
"' is encrypted.");
}
else
{
MessageBox.Show("ERROR: '" + encryptedFilename +
"' is NOT ENCRYPTED.", "Encryption Error",
MessageBoxButton.OK, MessageBoxImage.Error);
WriteStatus("ERROR: '" + encryptedFilename +
"' is NOT ENCRYPTED.\n");
return false;
}
WriteStatus(" Signing the UnsignedPublishLicense" & vbLf & " to build the PublishLicense.")
Dim authorsUseLicense As UseLicense = Nothing
Dim publishLicense As PublishLicense = unsignedLicense.Sign(_secureEnv, authorsUseLicense)
WriteStatus(" Binding the author's UseLicense and")
WriteStatus(" obtaining the CryptoProvider.")
Dim cryptoProvider As CryptoProvider = authorsUseLicense.Bind(_secureEnv)
WriteStatus(" Creating the EncryptedPackage.")
Dim packageStream As Stream = File.OpenRead(packageFile)
Dim ePackage As EncryptedPackageEnvelope = EncryptedPackageEnvelope.CreateFromPackage(encryptedFile, packageStream, publishLicense, cryptoProvider)
WriteStatus(" Adding an author's UseLicense.")
Dim rmi As RightsManagementInformation = ePackage.RightsManagementInformation
rmi.SaveUseLicense(author, authorsUseLicense)
ePackage.Close()
WriteStatus(" Done - Package encryption complete.")
WriteStatus("Verifying package encryption.")
If EncryptedPackageEnvelope.IsEncryptedPackageEnvelope(encryptedFile) Then
WriteStatus(" Confirmed - '" & encryptedFilename & "' is encrypted.")
Else
MessageBox.Show("ERROR: '" & encryptedFilename & "' is NOT ENCRYPTED.", "Encryption Error", MessageBoxButton.OK, MessageBoxImage.Error)
WriteStatus("ERROR: '" & encryptedFilename & "' is NOT ENCRYPTED." & vbLf)
Return False
End If
O exemplo seguinte mostra como inicializar um RightsManagementInformation objeto para desencriptação.
ShowStatus(" Opening the encrypted Package.");
EncryptedPackageEnvelope ePackage =
EncryptedPackageEnvelope.Open(xpsFile, FileAccess.ReadWrite);
RightsManagementInformation rmi =
ePackage.RightsManagementInformation;
ShowStatus(" Looking for an embedded UseLicense for user:\n " +
currentUserId + " [" + _authentication + "]");
UseLicense useLicense =
rmi.LoadUseLicense(
new ContentUser(currentUserId, _authentication));
ReadOnlyCollection<ContentGrant> grants;
if (useLicense == null)
{
ShowStatus(" No Embedded UseLicense found.\n " +
"Attempting to acqure UseLicnese\n " +
"from the PublishLicense.");
PublishLicense pubLicense = rmi.LoadPublishLicense();
ShowStatus(" Referral information:");
if (pubLicense.ReferralInfoName == null)
ShowStatus(" Name: (null)");
else
ShowStatus(" Name: " + pubLicense.ReferralInfoName);
if (pubLicense.ReferralInfoUri == null)
ShowStatus(" Uri: (null)");
else
ShowStatus(" Uri: " +
pubLicense.ReferralInfoUri.ToString());
useLicense = pubLicense.AcquireUseLicense(_secureEnv);
if (useLicense == null)
{
ShowStatus(" User DOES NOT HAVE RIGHTS\n " +
"to access this document!");
return false;
}
}// end:if (useLicense == null)
ShowStatus(" UseLicense acquired.");
ShowStatus(" Opening the encrypted Package.")
Dim ePackage As EncryptedPackageEnvelope = EncryptedPackageEnvelope.Open(xpsFile, FileAccess.ReadWrite)
Dim rmi As RightsManagementInformation = ePackage.RightsManagementInformation
ShowStatus(" Looking for an embedded UseLicense for user:" & vbLf & " " & currentUserId & " [" & _authentication & "]")
Dim useLicense As UseLicense = rmi.LoadUseLicense(New ContentUser(currentUserId, _authentication))
Dim grants As ReadOnlyCollection(Of ContentGrant)
If useLicense Is Nothing Then
ShowStatus(" No Embedded UseLicense found." & vbLf & " " & "Attempting to acqure UseLicnese" & vbLf & " " & "from the PublishLicense.")
Dim pubLicense As PublishLicense = rmi.LoadPublishLicense()
ShowStatus(" Referral information:")
If pubLicense.ReferralInfoName Is Nothing Then
ShowStatus(" Name: (null)")
Else
ShowStatus(" Name: " & pubLicense.ReferralInfoName)
End If
If pubLicense.ReferralInfoUri Is Nothing Then
ShowStatus(" Uri: (null)")
Else
ShowStatus(" Uri: " & pubLicense.ReferralInfoUri.ToString())
End If
useLicense = pubLicense.AcquireUseLicense(_secureEnv)
If useLicense Is Nothing Then
ShowStatus(" User DOES NOT HAVE RIGHTS" & vbLf & " " & "to access this document!")
Return False
End If
End If ' end:if (useLicense == null)
ShowStatus(" UseLicense acquired.")
Observações
RightsManagementInformation fornece acesso aos PublishLicense dados e UseLicense armazenados num protegido por direitos Packagegeridos.
Propriedades
| Name | Description |
|---|---|
| CryptoProvider |
Obtém ou define o CryptoProvider acesso ao fluxo de dados de gestão de direitos encriptados do pacote. |
Métodos
| Name | Description |
|---|---|
| DeleteUseLicense(ContentUser) |
Apaga o UseLicense para um utilizador especificado do fluxo de dados de gestão de direitos encriptados. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetEmbeddedUseLicenses() |
Devolve uma coleção de dicionário de pares utilizador e UseLicense chave/valor do fluxo de dados de gestão de direitos encriptados. |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| LoadPublishLicense() |
Devolve o embutido PublishLicense do fluxo de dados de gestão de direitos encriptados. |
| LoadUseLicense(ContentUser) |
Devolve o conteúdo embutido UseLicense de um utilizador especificado a partir do fluxo de dados de gestão de direitos encriptados. |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| SavePublishLicense(PublishLicense) |
Guarda um dado PublishLicense para o fluxo de dados de gestão de direitos encriptados. |
| SaveUseLicense(ContentUser, UseLicense) |
Guarda um dado UseLicense para um utilizador especificado no fluxo de dados de gestão de direitos encriptados. |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |