Sdílet prostřednictvím


PublishLicense Třída

Definice

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.

Platí pro

Viz také