RightsManagementInformation クラス

定義

EncryptedPackageEnvelope に保存されたデジタル著作権管理 (DRM) 情報を表します。

public ref class RightsManagementInformation
public class RightsManagementInformation
type RightsManagementInformation = class
Public Class RightsManagementInformation
継承
RightsManagementInformation

次の例は、暗号化のために オブジェクトを初期化する方法を RightsManagementInformation 示しています。

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

次の例は、復号化のために オブジェクトを初期化する方法を RightsManagementInformation 示しています。

ShowStatus("   Opening the encrypted Package.");
EncryptedPackageEnvelope ePackage =
    EncryptedPackageEnvelope.Open(xpsFile, FileAccess.ReadWrite);
RightsManagementInformation rmi =
    ePackage.RightsManagementInformation;

ShowStatus("   Looking for an embedded UseLicense for user:\n       " +
           currentUserId + " [" + _authentication + "]");
UseLicense useLicense =
    rmi.LoadUseLicense(
        new ContentUser(currentUserId, _authentication));

ReadOnlyCollection<ContentGrant> grants;
if (useLicense == null)
{
    ShowStatus("   No Embedded UseLicense found.\n       " +
               "Attempting to acqure UseLicnese\n       " +
               "from the PublishLicense.");
    PublishLicense pubLicense = rmi.LoadPublishLicense();

    ShowStatus("   Referral information:");

    if (pubLicense.ReferralInfoName == null)
        ShowStatus("       Name: (null)");
    else
        ShowStatus("       Name: " + pubLicense.ReferralInfoName);

    if (pubLicense.ReferralInfoUri == null)
        ShowStatus("    Uri: (null)");
    else
        ShowStatus("    Uri: " +
            pubLicense.ReferralInfoUri.ToString());

    useLicense = pubLicense.AcquireUseLicense(_secureEnv);
    if (useLicense == null)
    {
        ShowStatus("   User DOES NOT HAVE RIGHTS\n       " +
            "to access this document!");
        return false;
    }
}// end:if (useLicense == null)
ShowStatus("   UseLicense acquired.");
ShowStatus("   Opening the encrypted Package.")
Dim ePackage As EncryptedPackageEnvelope = EncryptedPackageEnvelope.Open(xpsFile, FileAccess.ReadWrite)
Dim rmi As RightsManagementInformation = ePackage.RightsManagementInformation

ShowStatus("   Looking for an embedded UseLicense for user:" & vbLf & "       " & currentUserId & " [" & _authentication & "]")
Dim useLicense As UseLicense = rmi.LoadUseLicense(New ContentUser(currentUserId, _authentication))

Dim grants As ReadOnlyCollection(Of ContentGrant)
If useLicense Is Nothing Then
    ShowStatus("   No Embedded UseLicense found." & vbLf & "       " & "Attempting to acqure UseLicnese" & vbLf & "       " & "from the PublishLicense.")
    Dim pubLicense As PublishLicense = rmi.LoadPublishLicense()

    ShowStatus("   Referral information:")

    If pubLicense.ReferralInfoName Is Nothing Then
        ShowStatus("       Name: (null)")
    Else
        ShowStatus("       Name: " & pubLicense.ReferralInfoName)
    End If

    If pubLicense.ReferralInfoUri Is Nothing Then
        ShowStatus("    Uri: (null)")
    Else
        ShowStatus("    Uri: " & pubLicense.ReferralInfoUri.ToString())
    End If

    useLicense = pubLicense.AcquireUseLicense(_secureEnv)
    If useLicense Is Nothing Then
        ShowStatus("   User DOES NOT HAVE RIGHTS" & vbLf & "       " & "to access this document!")
        Return False
    End If
End If ' end:if (useLicense == null)
ShowStatus("   UseLicense acquired.")

注釈

RightsManagementInformationは、権限が管理された保護された に格納されている と データへのPublishLicenseアクセスを提供しますPackageUseLicense

プロパティ

CryptoProvider

パッケージが持つ暗号化された権限管理データ ストリームにアクセスするための CryptoProvider を取得または設定します。

メソッド

DeleteUseLicense(ContentUser)

暗号化された権限管理データ ストリームから、指定したユーザーの UseLicense を削除します。

Equals(Object)

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

(継承元 Object)
GetEmbeddedUseLicenses()

暗号化された権限管理データ ストリームから、ユーザーおよび UseLicense キーと値のペアのディクショナリ コレクションを返します。

GetHashCode()

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

(継承元 Object)
GetType()

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

(継承元 Object)
LoadPublishLicense()

暗号化された権限管理データ ストリームから、埋め込まれた PublishLicense を返します。

LoadUseLicense(ContentUser)

暗号化された権限管理データ ストリームから、指定したユーザーが持つ埋め込みの UseLicense を返します。

MemberwiseClone()

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

(継承元 Object)
SavePublishLicense(PublishLicense)

指定された PublishLicense を暗号化された権限管理データ ストリームに保存します。

SaveUseLicense(ContentUser, UseLicense)

暗号化された権限管理データ ストリームに、指定したユーザーの UseLicense を保存します。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象

こちらもご覧ください