PublishLicense クラス

定義

署名付き権限マネージド発行ライセンスを表します。

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
継承
PublishLicense
属性

次の例は、PublishLicense メソッドを使用してSignを初期化する方法を示しています。

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

注釈

PublishLicense は、権限、ユーザー、およびその他のセキュリティ関連の情報に関するセキュリティ データを定義します。 ライセンスは、特定のコンピューター上の特定のユーザーが、指定された権限で管理されたコンテンツを使用する方法を定義します。

発行プロセスは、 UnsignedPublishLicenseで権限情報を定義するドキュメント作成者から始まります。 次に、作成者は、PublishLicenseSign メソッドを呼び出して、署名付きUnsignedPublishLicenseを作成します。 署名されたPublishLicenseのシリアル化された形式は、UseLicenseAcquireUseLicense メソッドを呼び出すことによってPublishLicenseを取得するために使用できるエンド ユーザーに提供できます。 返された UseLicense により、クライアント アプリケーションは、ユーザーに付与された権限を行使できます。

他の System.Security.RightsManagement の種類と同様に、 PublishLicense は完全信頼アプリケーションでのみ使用できます。

コンストラクター

名前 説明
PublishLicense(String)

指定したシリアル化および符号付きPublishLicenseから、PublishLicense クラスの新しいインスタンスを初期化します。

プロパティ

名前 説明
ContentId

発行元が作成したコンテンツ識別子を取得します。

ReferralInfoName

コンテンツの作成者または発行元の連絡先名を取得します。

ReferralInfoUri

コンテンツの作成者または発行元の連絡先 URI を取得します。

UseLicenseAcquisitionUrl

UseLicenseの取得に使用する URI を取得します。

メソッド

名前 説明
AcquireUseLicense(SecureEnvironment)

指定したUseLicense内のユーザーまたはユーザー グループのSecureEnvironmentの取得を試みます。

AcquireUseLicenseNoUI(SecureEnvironment)

指定したUseLicense内のユーザーまたはユーザー グループのSecureEnvironmentの取得を試みます。

DecryptUnsignedPublishLicense(CryptoProvider)

この署名されたUnsignedPublishLicenseの復号化されたPublishLicenseバージョンを返します。

Equals(Object)

指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Objectの簡易コピーを作成します。

(継承元 Object)
ToString()

このライセンスの作成に使用されたシリアル化された XrML 文字列を返します。

適用対象

こちらもご覧ください