Sprache

PublishLicense Klasse

Definition

Stellt eine signierte Lizenz für verwaltete Veröffentlichungsrechte 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 Inhalte mit verwalteten Rechten verwenden kann.

Der Veröffentlichungsprozess beginnt mit dem Dokumentautor, der Rechteinformationen in einer UnsignedPublishLicense. Als Nächstes erstellt der Autor eine signiertePublishLicense, indem die Sign Methode der .UnsignedPublishLicense Die serialisierte Form des signierten PublishLicense Formulars kann dann Endbenutzern zur Verfügung gestellt werden, die sie verwenden können, um eine UseLicense durch Aufrufen der AcquireUseLicense Methode der .PublishLicense Die zurückgegebene UseLicense Anwendung ermöglicht der Clientanwendung dann die Ausübung der Rechte, die dem Benutzer gewährt wurden.

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

Konstruktoren

Name Beschreibung
PublishLicense(String)

Initialisiert eine neue Instanz der PublishLicense Klasse aus einer angegebenen serialisierten und signierten PublishLicenseKlasse.

Eigenschaften

Name Beschreibung
ContentId

Ruft den vom Herausgeber erstellten Inhaltsbezeichner ab.

ReferralInfoName

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

ReferralInfoUri

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

UseLicenseAcquisitionUrl

Ruft den URI zum Abrufen eines UseLicense.

Methoden

Name Beschreibung
AcquireUseLicense(SecureEnvironment)

Versucht, einen UseLicense Benutzer oder eine Benutzergruppe in einer angegebenen Gruppe SecureEnvironmentzu erwerben.

AcquireUseLicenseNoUI(SecureEnvironment)

Versucht, einen UseLicense Benutzer oder eine Benutzergruppe in einer angegebenen Gruppe SecureEnvironmentzu erwerben.

DecryptUnsignedPublishLicense(CryptoProvider)

Gibt eine entschlüsselte UnsignedPublishLicense Version dieses signierten .PublishLicense

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
ToString()

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

Gilt für:

Weitere Informationen