次の方法で共有


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
属性

次の例は、メソッドを使用して a を 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. 次に、作成者は 、. のメソッドを呼び出して署名PublishLicenseを作成しますUnsignedPublishLicenseSign その後、署名済PublishLicenseみのシリアル化された形式をエンド ユーザーに提供できます。このフォームを使用して、そのメソッドPublishLicenseAcquireUseLicense呼び出すことによって取得UseLicenseできます。 返された 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 文字列を返します。

適用対象

こちらもご覧ください