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 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. |