PublishLicense Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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. |