Share via


RightsManagementInformation.SaveUseLicense(ContentUser, UseLicense) Methode

Definition

Speichert eine angegebene UseLicense für einen angegebenen Benutzer im verschlüsselten Datenstream für die Rechteverwaltung.

public:
 void SaveUseLicense(System::Security::RightsManagement::ContentUser ^ userKey, System::Security::RightsManagement::UseLicense ^ useLicense);
public void SaveUseLicense (System.Security.RightsManagement.ContentUser userKey, System.Security.RightsManagement.UseLicense useLicense);
member this.SaveUseLicense : System.Security.RightsManagement.ContentUser * System.Security.RightsManagement.UseLicense -> unit
Public Sub SaveUseLicense (userKey As ContentUser, useLicense As UseLicense)

Parameter

userKey
ContentUser

Der Benutzer der UseLicense.

useLicense
UseLicense

Die Nutzungslizenz, die im Paket gespeichert und eingebettet werden soll.

Ausnahmen

Entweder der userKey- oder der useLicense-Parameter ist null.

Die Rechteverwaltungsinformationen in diesem Paket können von der aktuellen Version dieser Klasse nicht gelesen werden.

Beispiele

Im folgenden Beispiel wird die Verwendung der SaveUseLicense -Methode veranschaulicht.

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

Nachdem für UseLicense den angegebenen Benutzer gespeichert wurde, kann es über die LoadUseLicense -Methode und aus der von GetEmbeddedUseLicenseszurückgegebenen Auflistung abgerufen werden.

Ein Package kann die UseLicense Rechteinformationen für mehrere Inhaltsbenutzer speichern. Jeder ContentUser kann höchstens einen UseLicensehaben. Wenn SaveUseLicense aufgerufen wird, um einen neuen UseLicense für einen ContentUser zu speichern, der bereits über einen UseLicenseverfügt, wird die vorherige Lizenz mit der neuen Lizenz überschrieben.

Gilt für:

Weitere Informationen