PublishLicense Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje podepsanou licenci pro publikování spravovanou právy.
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
- Dědičnost
-
PublishLicense
- Atributy
Příklady
Následující příklad ukazuje, jak inicializovat PublishLicense pomocí Sign metody .
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
Poznámky
PublishLicense definuje bezpečnostní data o právech, uživatelích a dalších informacích souvisejících se zabezpečením. Licence definuje, jak může konkrétní uživatel na konkrétním počítači používat zadaný obsah spravovaný právy.
Proces publikování začíná autorem dokumentu, který definuje informace o právech v objektu UnsignedPublishLicense. Dále autor vytvoří podepsaný PublishLicense voláním Sign metody UnsignedPublishLicense. Serializovaná forma podepsaného PublishLicense lze pak poskytnout koncovým uživatelům, kteří ho mohou použít k získání UseLicense volání AcquireUseLicense metody PublishLicense. UseLicense Vrácený objekt pak umožní klientské aplikaci uplatnit práva, která byla uživateli udělena.
Stejně jako u jiných System.Security.RightsManagement typů PublishLicense je použitelný pouze v aplikacích s plnou důvěryhodností.
Konstruktory
PublishLicense(String) |
Inicializuje novou instanci PublishLicense třídy ze zadané serializované a podepsané PublishLicense. |
Vlastnosti
ContentId |
Získá identifikátor obsahu vytvořeného vydavatelem. |
ReferralInfoName |
Získá jméno kontaktu pro autora nebo vydavatele obsahu. |
ReferralInfoUri |
Získá identifikátor URI kontaktu pro autora nebo vydavatele obsahu. |
UseLicenseAcquisitionUrl |
Získá identifikátor URI, který se má použít pro získání .UseLicense |
Metody
AcquireUseLicense(SecureEnvironment) |
Pokusy o získání UseLicense pro uživatele nebo skupinu uživatelů v zadaném SecureEnvironment. |
AcquireUseLicenseNoUI(SecureEnvironment) |
Pokusy o získání UseLicense pro uživatele nebo skupinu uživatelů v zadaném SecureEnvironment. |
DecryptUnsignedPublishLicense(CryptoProvider) |
Vrátí dešifrovanou UnsignedPublishLicense verzi tohoto podepsaného PublishLicensesouboru . |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetType() |
Získá aktuální Type instanci. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
ToString() |
Vrátí serializovaný řetězec XrML, který byl použit k vytvoření této licence. |