CryptoProvider CryptoProvider CryptoProvider CryptoProvider Class


保護されたコンテンツを暗号化および復号化するデジタル著作権管理サービスを提供します。Provides digital rights management services for encrypting and decrypting protected content.

public ref class CryptoProvider : IDisposable
public class CryptoProvider : IDisposable
type CryptoProvider = class
    interface IDisposable
Public Class CryptoProvider
Implements IDisposable

次の例は、使用する方法を示します、CryptoProviderクラスを作成する、EncryptedPackageEnvelopeします。The following example shows how to use the CryptoProvider class to create an EncryptedPackageEnvelope.

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 =
        packageStream, publishLicense, cryptoProvider);

WriteStatus("   Adding an author's UseLicense.");
RightsManagementInformation rmi =
rmi.SaveUseLicense(author, authorsUseLicense);

WriteStatus("   Done - Package encryption complete.");

WriteStatus("Verifying package encryption.");
if (EncryptedPackageEnvelope.IsEncryptedPackageEnvelope(encryptedFile))
    WriteStatus("   Confirmed - '" + encryptedFilename +
                "' is encrypted.");
    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)

WriteStatus("   Done - Package encryption complete.")

WriteStatus("Verifying package encryption.")
If EncryptedPackageEnvelope.IsEncryptedPackageEnvelope(encryptedFile) Then
	WriteStatus("   Confirmed - '" & encryptedFilename & "' is encrypted.")
	MessageBox.Show("ERROR: '" & encryptedFilename & "' is NOT ENCRYPTED.", "Encryption Error", MessageBoxButton.OK, MessageBoxImage.Error)
	WriteStatus("ERROR: '" & encryptedFilename & "' is NOT ENCRYPTED." & vbLf)
	Return False
End If


CryptoProvider 結果として作成、Bind管理権限をバインドする場合、メソッドUseLicenseSecureEnvironmentします。CryptoProvider is created as a result of the Bind method when binding a rights managed UseLicense to a SecureEnvironment.

他の同様System.Security.RightsManagement型、CryptoProviderは完全信頼アプリケーションで使用できるのみです。As with other System.Security.RightsManagement types, CryptoProvider is only usable in full trust applications.


BlockSize BlockSize BlockSize BlockSize

暗号ブロック サイズ (バイト単位) を取得します。Gets the cipher block size, in bytes.

BoundGrants BoundGrants BoundGrants BoundGrants

検証に合格し、ユーザーに付与される権限の一覧を示すコレクションを取得します。Gets a collection listing the rights that passed verification and that are granted to the user.

CanDecrypt CanDecrypt CanDecrypt CanDecrypt

ユーザーが復号化の権限を持っているかどうかを示す値を取得します。Gets a value that indicates whether the user has rights to decrypt.

CanEncrypt CanEncrypt CanEncrypt CanEncrypt

ユーザーが暗号化の権限を持っているかどうかを示す値を取得します。Gets a value that indicates whether the user has rights to encrypt.

CanMergeBlocks CanMergeBlocks CanMergeBlocks CanMergeBlocks

Encrypt(Byte[]) および Decrypt(Byte[]) が異なる長さのブロック サイズのバッファーを受け入れることができるかどうかを示す値を取得します。Gets a value that indicates whether Encrypt(Byte[]) and Decrypt(Byte[]) can accept buffers that are different block sizes in length.


Decrypt(Byte[]) Decrypt(Byte[]) Decrypt(Byte[]) Decrypt(Byte[])

暗号テキストをクリア テキストに復号化します。Decrypts cipher text to clear text.

Dispose() Dispose() Dispose() Dispose()

CryptoProvider によって使用されているすべてのリソースを解放します。Releases all resources used by the CryptoProvider.

Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

CryptoProvider によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。Releases the unmanaged resources used by the CryptoProvider and optionally releases the managed resources.

Encrypt(Byte[]) Encrypt(Byte[]) Encrypt(Byte[]) Encrypt(Byte[])

クリア テキストを暗号化テキストに暗号化します。Encrypts clear text to cipher text.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
Finalize() Finalize() Finalize() Finalize()

インスタンスがガベージ コレクションによって回収される前にリソースを解放し、内部クリーンアップを実行します。Frees resources and performs internal cleanup before the instance is reclaimed by garbage collection.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)