CryptoProvider Класс

Определение

Предоставляет службы управления правами для шифрования и расшифровки защищенного содержимого.Provides digital rights management services for encrypting and decrypting protected content.

public ref class CryptoProvider : IDisposable
public class CryptoProvider : IDisposable
[System.Security.SecurityCritical(System.Security.SecurityCriticalScope.Everything)]
public class CryptoProvider : IDisposable
type CryptoProvider = class
    interface IDisposable
[<System.Security.SecurityCritical(System.Security.SecurityCriticalScope.Everything)>]
type CryptoProvider = class
    interface IDisposable
Public Class CryptoProvider
Implements IDisposable
Наследование
CryptoProvider
Атрибуты
Реализации

Примеры

В следующем примере показано, как использовать 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 =
    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

Комментарии

CryptoProvider создается в результате выполнения Bind метода при привязке прав, управляемых UseLicense в SecureEnvironment .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

Возвращает размер блока шифра в байтах.Gets the cipher block size, in bytes.

BoundGrants

Возвращает набор, в котором перечислены прошедшие проверку и предоставленные пользователю права.Gets a collection listing the rights that passed verification and that are granted to the user.

CanDecrypt

Возвращает значение, позволяющее определить, есть ли у пользователя право на расшифровку.Gets a value that indicates whether the user has rights to decrypt.

CanEncrypt

Возвращает значение, позволяющее определить, есть ли у пользователя право на шифрование.Gets a value that indicates whether the user has rights to encrypt.

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[])

Расшифровывает зашифрованный текст, преобразовывая его в открытый.Decrypts cipher text to clear text.

Dispose()

Освобождает все ресурсы, занятые модулем CryptoProvider.Releases all resources used by the CryptoProvider.

Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые объектом CryptoProvider, а при необходимости освобождает также управляемые ресурсы.Releases the unmanaged resources used by the CryptoProvider and optionally releases the managed resources.

Encrypt(Byte[])

Шифрует открытый текст.Encrypts clear text to cipher text.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
Finalize()

Освобождает ресурсы и внутреннюю очистку, прежде чем экземпляр будет удален при сборке мусора.Frees resources and performs internal cleanup before the instance is reclaimed by garbage collection.

GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)

Применяется к

См. также раздел