PublishLicense Classe

Definição

Representa uma licença de publicação gerida 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 seguinte mostra como inicializar a 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

Observações

PublishLicense define dados de segurança sobre direitos, utilizadores e outras informações relacionadas com a segurança. A licença define como um utilizador específico num computador específico pode usar conteúdos geridos por direitos específicos.

O processo de publicação começa com o autor do documento, que define a informação de direitos num UnsignedPublishLicense. De 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 utilizadores finais que podem usá-la para adquirir um UseLicense chamando o AcquireUseLicense método do PublishLicense. O retorno UseLicense permite então que a aplicação cliente exerça os direitos concedidos ao utilizador.

Tal como noutros System.Security.RightsManagement tipos, PublishLicense só é utilizável em aplicações full trust.

Construtores

Name Description
PublishLicense(String)

Inicializa uma nova instância da PublishLicense classe a partir de uma série especificada e assinada PublishLicense.

Propriedades

Name Description
ContentId

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

ReferralInfoName

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

ReferralInfoUri

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

UseLicenseAcquisitionUrl

Obtém o URI para usar para adquirir um UseLicensearquivo .

Métodos

Name Description
AcquireUseLicense(SecureEnvironment)

Tentativas de adquirir um UseLicense para um utilizador ou grupo de utilizadores num determinado SecureEnvironment.

AcquireUseLicenseNoUI(SecureEnvironment)

Tentativas de adquirir um UseLicense para um utilizador ou grupo de utilizadores num determinado SecureEnvironment.

DecryptUnsignedPublishLicense(CryptoProvider)

Devolve uma versão desencriptada UnsignedPublishLicense deste símbolo assinado PublishLicense.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve a cadeia XrML serializada que foi usada para criar esta licença.

Aplica-se a

Ver também