PublishLicense Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Representa uma licença de publicação assinada gerenciada por direitos.
public ref class PublishLicense
[System.Security.SecurityCritical(System.Security.SecurityCriticalScope.Everything)]
public class PublishLicense
public class PublishLicense
[<System.Security.SecurityCritical(System.Security.SecurityCriticalScope.Everything)>]
type PublishLicense = class
type PublishLicense = class
Public Class PublishLicense
- Herança
-
PublishLicense
- Atributos
Exemplos
O exemplo a seguir mostra como inicializar um PublishLicense usando o Sign método.
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
Comentários
PublishLicense define dados de segurança sobre direitos, usuários e outras informações relacionadas à segurança. A licença define como um usuário específico em um computador específico pode usar o conteúdo gerenciado de direitos especificado.
O processo de publicação começa com o autor do documento, que define informações de direitos em um UnsignedPublishLicense. Em seguida, o autor cria uma assinatura PublishLicense chamando o Sign método do UnsignedPublishLicense. A forma serializada do assinado PublishLicense pode então ser fornecida aos usuários finais que podem usá-lo para adquirir um UseLicense chamando o AcquireUseLicense método do PublishLicense. O retornado UseLicense , então, permite que o aplicativo cliente exercite os direitos concedidos ao usuário.
Assim como acontece com outros System.Security.RightsManagement tipos, PublishLicense só é utilizável em aplicativos de confiança total.
Construtores
PublishLicense(String) |
Inicializa uma nova instância da classe PublishLicense de uma PublishLicense assinada e serializada especificada. |
Propriedades
ContentId |
Obtém o identificador de conteúdo criado pelo fornecedor. |
ReferralInfoName |
Obtém o nome de contato para o autor ou editor do conteúdo. |
ReferralInfoUri |
Obtém o URI de contato para o autor ou editor do conteúdo. |
UseLicenseAcquisitionUrl |
Obtém o URI a ser usado para adquirir um UseLicense. |
Métodos
AcquireUseLicense(SecureEnvironment) |
Tenta adquirir um UseLicense para um usuário ou grupo de usuários em um SecureEnvironment especificado. |
AcquireUseLicenseNoUI(SecureEnvironment) |
Tenta adquirir um UseLicense para um usuário ou grupo de usuários em um SecureEnvironment especificado. |
DecryptUnsignedPublishLicense(CryptoProvider) |
Retorna uma versão de UnsignedPublishLicense descriptografada desta PublishLicense assinada. |
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
ToString() |
Retorna a cadeia de caracteres XrML serializada que foi usada para criar essa licença. |