PublishLicense Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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. |