Compartir a través de


PublishLicense Clase

Definición

Representa una licencia de publicación con derechos administrados firmada.

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
Herencia
PublishLicense
Atributos

Ejemplos

En el ejemplo siguiente se muestra cómo inicializar mediante PublishLicense el 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

Comentarios

PublishLicense define datos de seguridad sobre derechos, usuarios y otra información relacionada con la seguridad. La licencia define cómo un usuario específico de un equipo específico puede usar contenido administrado con derechos especificados.

El proceso de publicación comienza con el autor del documento, que define la información de derechos en un UnsignedPublishLicense. A continuación, el autor crea una firma PublishLicense mediante una llamada al Sign método de UnsignedPublishLicense. A continuación, se puede proporcionar el formato serializado del firmado PublishLicense a los usuarios finales que pueden usarlo para adquirir un UseLicense mediante una llamada al AcquireUseLicense método de PublishLicense. A continuación, el devuelto UseLicense permite a la aplicación cliente ejercer los derechos concedidos al usuario.

Al igual que con otros System.Security.RightsManagement tipos, PublishLicense solo se puede usar en aplicaciones de plena confianza.

Constructores

PublishLicense(String)

Inicializa una nueva instancia de la clase PublishLicense desde un objeto PublishLicense concreto serializado y firmado.

Propiedades

ContentId

Obtiene el identificador de contenido creado por el editor.

ReferralInfoName

Obtiene el nombre de contacto del autor o editor del contenido.

ReferralInfoUri

Obtiene el URI de contacto del autor o publicador del contenido.

UseLicenseAcquisitionUrl

Obtiene el URI que se va a usar para adquirir UseLicense.

Métodos

AcquireUseLicense(SecureEnvironment)

Intenta adquirir UseLicense para un usuario o grupo de usuarios en un objeto SecureEnvironment especificado.

AcquireUseLicenseNoUI(SecureEnvironment)

Intenta adquirir UseLicense para un usuario o grupo de usuarios en un objeto SecureEnvironment especificado.

DecryptUnsignedPublishLicense(CryptoProvider)

Devuelve una versión de UnsignedPublishLicense descifrada de este objeto PublishLicense firmado.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve la cadena XrML serializada que se usó para crear esta licencia.

Se aplica a

Consulte también