CryptoProvider 類別

定義

提供數位版權管理服務,以加密或解密受保護的內容。

C#
[System.Security.SecurityCritical(System.Security.SecurityCriticalScope.Everything)]
public class CryptoProvider : IDisposable
C#
public class CryptoProvider : IDisposable
繼承
CryptoProvider
屬性
實作

範例

下列範例示範如何使用 CryptoProvider 類別來建立 EncryptedPackageEnvelope

C#
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;
}

備註

CryptoProvider系結受管理 UseLicense 的許可權系結至 SecureEnvironment 時, Bind 會建立 做為 方法的結果。

如同其他類型的 System.Security.RightsManagementCryptoProvider 只能在完全信任應用程式中使用。

屬性

BlockSize

取得密碼區塊大小 (以位元組為單位)。

BoundGrants

取得集合,列出通過驗證且授與使用者的權限清單。

CanDecrypt

取得值,指出使用者是否具有解密權限。

CanEncrypt

取得值,指出使用者是否具有加密權限。

CanMergeBlocks

取得值,指出 Encrypt(Byte[])Decrypt(Byte[]) 是否可接受區塊長度大小不同的緩衝區。

方法

Decrypt(Byte[])

將密碼文字解密為純文字。

Dispose()

釋放 CryptoProvider 所使用的所有資源。

Dispose(Boolean)

釋放 CryptoProvider 所使用的 Unmanaged 資源,並選擇性地釋放 Managed 資源。

Encrypt(Byte[])

將純文字加密為加密文字。

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
Finalize()

釋出資源並執行內部清除後,記憶體回收才能回收執行個體。

GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
ToString()

傳回代表目前物件的字串。

(繼承來源 Object)

適用於

產品 版本
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

另請參閱