PublishLicense Classe

Definizione

Rappresenta una licenza di pubblicazione gestita con diritti firmati.

public ref class PublishLicense
[System.Security.SecurityCritical(System.Security.SecurityCriticalScope.Everything)]
public class PublishLicense
[<System.Security.SecurityCritical(System.Security.SecurityCriticalScope.Everything)>]
type PublishLicense = class
Public Class PublishLicense
Ereditarietà
PublishLicense
Attributi

Esempio

Nell'esempio seguente viene illustrato come inizializzare un PublishLicense oggetto utilizzando il Sign metodo .

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

Commenti

PublishLicense definisce i dati di sicurezza relativi a diritti, utenti e altre informazioni relative alla sicurezza. La licenza definisce il modo in cui un utente specifico in un computer specifico può usare il contenuto gestito con diritti specificato.

Il processo di pubblicazione inizia con l'autore del documento, che definisce le informazioni sui diritti in un oggetto UnsignedPublishLicense. Successivamente, l'autore crea un oggetto firmato PublishLicense chiamando il Sign metodo dell'oggetto UnsignedPublishLicense. Il formato serializzato del segno PublishLicense può quindi essere fornito agli utenti finali che possono usarlo per acquisire un UseLicense oggetto chiamando il AcquireUseLicense metodo dell'oggetto PublishLicense. L'oggetto restituito UseLicense consente quindi all'applicazione client di esercitare i diritti concessi all'utente.

Come per gli altri System.Security.RightsManagement tipi, PublishLicense è utilizzabile solo nelle applicazioni con attendibilità totale.

Costruttori

Nome Descrizione
PublishLicense(String)

Inizializza una nuova istanza della PublishLicense classe da un oggetto serializzato e firmato PublishLicensespecificato.

Proprietà

Nome Descrizione
ContentId

Ottiene l'identificatore di contenuto creato dall'editore.

ReferralInfoName

Ottiene il nome del contatto per l'autore o l'autore del contenuto.

ReferralInfoUri

Ottiene l'URI del contatto per l'autore o l'autore del contenuto.

UseLicenseAcquisitionUrl

Ottiene l'URI da utilizzare per acquisire un oggetto UseLicense.

Metodi

Nome Descrizione
AcquireUseLicense(SecureEnvironment)

Tenta di acquisire un oggetto UseLicense per un utente o un gruppo di utenti in un oggetto specificato SecureEnvironment.

AcquireUseLicenseNoUI(SecureEnvironment)

Tenta di acquisire un oggetto UseLicense per un utente o un gruppo di utenti in un oggetto specificato SecureEnvironment.

DecryptUnsignedPublishLicense(CryptoProvider)

Restituisce una versione decrittografata UnsignedPublishLicense di questo oggetto firmato PublishLicense.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
ToString()

Restituisce la stringa XrML serializzata utilizzata per creare questa licenza.

Si applica a

Vedi anche