PublishLicense Klasse

Definition

Stellt eine durch Rights Management geschützte signierte Lizenz für Veröffentlichungen dar.

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
Vererbung
PublishLicense
Attribute

Beispiele

Das folgende Beispiel zeigt, wie Sie eine PublishLicense mithilfe der Sign Methode initialisieren.

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

Hinweise

PublishLicense definiert Sicherheitsdaten zu Rechten, Benutzern und anderen sicherheitsbezogenen Informationen. Die Lizenz definiert, wie ein bestimmter Benutzer auf einem bestimmten Computer bestimmte verwaltete Rechte verwenden kann.

Der Veröffentlichungsprozess beginnt mit dem Dokumentautor, der Rechteinformationen in einer UnsignedPublishLicense. Als Nächstes erstellt der Autor eine signierte PublishLicense Sign Methode der UnsignedPublishLicense. Das serialisierte Formular des signierten PublishLicense Formulars kann dann Endbenutzern zur Verfügung gestellt werden, die es verwenden können, um eine UseLicense durch Aufrufen der AcquireUseLicense Methode der PublishLicense. UseLicense Anschließend kann die Clientanwendung die Rechte ausüben, die dem Benutzer gewährt wurden.

Wie bei anderen System.Security.RightsManagement Typen PublishLicense kann nur voll vertrauenswürdige Anwendungen verwendet werden.

Konstruktoren

PublishLicense(String)

Initialisiert eine neue Instanz der PublishLicense-Klasse von der serialisierten und signierten PublishLicense, die angegeben wurde.

Eigenschaften

ContentId

Ruft den vom Herausgeber erstellten Inhaltsbezeichner ab.

ReferralInfoName

Ruft den Kontaktnamen für den Autor oder den Herausgeber des Inhalts ab.

ReferralInfoUri

Ruft den Kontakt-URI für den Autor oder den Herausgeber des Inhalts ab.

UseLicenseAcquisitionUrl

Ruft den URI ab, der zum Abrufen einer UseLicense verwendet werden soll.

Methoden

AcquireUseLicense(SecureEnvironment)

Versucht, in einer angegebenen UseLicense eine SecureEnvironment für einen Benutzer oder eine Benutzergruppe abzurufen.

AcquireUseLicenseNoUI(SecureEnvironment)

Versucht, in einer angegebenen UseLicense eine SecureEnvironment für einen Benutzer oder eine Benutzergruppe abzurufen.

DecryptUnsignedPublishLicense(CryptoProvider)

Gibt eine entschlüsselte UnsignedPublishLicense-Version dieser signierten PublishLicense zurück.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt die serialisierte XrML-Zeichenfolge zurück, die zum Erstellen dieser Lizenz verwendet wurde.

Gilt für

Siehe auch