PublishLicense Classe

Definição

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.

Aplica-se a

Confira também