PublishLicense Classe

Definição

Representa uma licença de publicação gerenciada por direitos assinados.

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 conteúdo gerenciado por direitos especificados.

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 um sinal 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 permite que o aplicativo cliente exercida os direitos que foram concedidos ao usuário.

Assim como acontece com outros System.Security.RightsManagement tipos, PublishLicense só é utilizável em aplicativos de confiança total.

Construtores

Nome Description
PublishLicense(String)

Inicializa uma nova instância da PublishLicense classe de um serializado e assinado PublishLicenseespecificado.

Propriedades

Nome Description
ContentId

Obtém o identificador de conteúdo criado pelo editor.

ReferralInfoName

Obtém o nome do contato do autor ou editor do conteúdo.

ReferralInfoUri

Obtém o URI de contato do autor ou editor do conteúdo.

UseLicenseAcquisitionUrl

Obtém o URI a ser usado para adquirir um UseLicense.

Métodos

Nome Description
AcquireUseLicense(SecureEnvironment)

Tenta adquirir um UseLicense para um usuário ou grupo de usuários em um determinado SecureEnvironment.

AcquireUseLicenseNoUI(SecureEnvironment)

Tenta adquirir um UseLicense para um usuário ou grupo de usuários em um determinado SecureEnvironment.

DecryptUnsignedPublishLicense(CryptoProvider)

Retorna uma versão descriptografada UnsignedPublishLicense dessa assinatura PublishLicense.

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 Objectatual.

(Herdado de Object)
ToString()

Retorna a cadeia de caracteres XrML serializada que foi usada para criar essa licença.

Aplica-se a

Confira também