PublishLicense Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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. |