Share via


PublishLicense Sınıf

Tanım

İmzalı hakları yönetilen yayımlama lisansını temsil eder.

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
Devralma
PublishLicense
Öznitelikler

Örnekler

Aşağıdaki örnek, yöntemini kullanarak bir PublishLicense başlatma işleminin Sign nasıl yapılacağını gösterir.

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

Açıklamalar

PublishLicense haklar, kullanıcılar ve güvenlikle ilgili diğer bilgiler hakkında güvenlik verilerini tanımlar. Lisans, belirli bir bilgisayardaki belirli bir kullanıcının belirtilen hakları yönetilen içeriği nasıl kullanabileceğini tanımlar.

Yayımlama işlemi, içinde UnsignedPublishLicensehak bilgilerini tanımlayan belge yazarıyla başlar. Ardından, yazar yöntemini UnsignedPublishLicenseçağırarak Sign imzalı PublishLicense bir oluşturur. İmzalının PublishLicense seri hale getirilmiş biçimi, yöntemini PublishLicenseçağırarak AcquireUseLicense almak UseLicense için bunu kullanabilen son kullanıcılara sağlanabilir. Döndürülen UseLicense daha sonra istemci uygulamasının kullanıcıya verilen hakları kullanmasına izin verir.

Diğer System.Security.RightsManagement türlerde olduğu gibi, PublishLicense yalnızca tam güven uygulamalarında kullanılabilir.

Oluşturucular

PublishLicense(String)

Belirtilen serileştirilmiş ve imzalı PublishLicenseöğesinden sınıfının yeni bir örneğini PublishLicense başlatır.

Özellikler

ContentId

Yayımcı tarafından oluşturulan içerik tanımlayıcısını alır.

ReferralInfoName

İçeriğin yazarının veya yayımcısının kişi adını alır.

ReferralInfoUri

İçeriğin yazarı veya yayımcısı için kişi URI'sini alır.

UseLicenseAcquisitionUrl

bir elde etmek UseLicenseiçin kullanılacak URI'yi alır.

Yöntemler

AcquireUseLicense(SecureEnvironment)

UseLicense Belirtilen SecureEnvironmentiçindeki bir kullanıcı veya kullanıcı grubu için alma girişiminde bulunur.

AcquireUseLicenseNoUI(SecureEnvironment)

UseLicense Belirtilen SecureEnvironmentiçindeki bir kullanıcı veya kullanıcı grubu için alma girişiminde bulunur.

DecryptUnsignedPublishLicense(CryptoProvider)

Bu imzalı PublishLicenseöğesinin şifresi çözülmüş UnsignedPublishLicense bir sürümünü döndürür.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Bu lisansı oluşturmak için kullanılan serileştirilmiş XrML dizesini döndürür.

Şunlara uygulanır

Ayrıca bkz.