Condividi tramite


PublishLicense Classe

Definizione

Rappresenta una licenza di pubblicazione protetta da Rights Management.

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
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 correlate 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 di UnsignedPublishLicense. Il formato serializzato dell'oggetto firmato PublishLicense può quindi essere fornito agli utenti finali che possono usarlo per acquisire un UseLicense oggetto chiamando il AcquireUseLicense metodo di PublishLicense. L'oggetto restituito UseLicense consente quindi all'applicazione client di esercitare i diritti concessi all'utente.

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

Costruttori

PublishLicense(String)

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

Proprietà

ContentId

Ottiene l'identificatore di contenuto creato dall'autore.

ReferralInfoName

Ottiene il nome di contatto del creatore o autore del contenuto.

ReferralInfoUri

Ottiene l'URI di contatto del creatore o autore del contenuto.

UseLicenseAcquisitionUrl

Ottiene l'URI da usare per l'acquisizione di un oggetto UseLicense.

Metodi

AcquireUseLicense(SecureEnvironment)

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

AcquireUseLicenseNoUI(SecureEnvironment)

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

DecryptUnsignedPublishLicense(CryptoProvider)

Restituisce una versione UnsignedPublishLicense decrittografata dell'oggetto PublishLicensefirmato.

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 l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce la stringa XrML serializzata utilizzata per creare questa licenza.

Si applica a

Vedi anche