CryptoProvider Classe

Definição

Fornece serviços de gerenciamento de direitos digitais para criptografar e descriptografar conteúdo protegido.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
Public Class CryptoProvider
Implements IDisposable
Herança
CryptoProvider
Atributos
Implementações

Exemplos

O exemplo a seguir mostra como usar a CryptoProvider classe para criar um 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

Comentários

CryptoProvideré criado como resultado do Bind método ao associar direitos gerenciados UseLicense a um SecureEnvironment.CryptoProvider is created as a result of the Bind method when binding a rights managed UseLicense to a SecureEnvironment.

Assim como ocorre System.Security.RightsManagement com outros CryptoProvider tipos, o só é utilizável em aplicativos de confiança total.As with other System.Security.RightsManagement types, CryptoProvider is only usable in full trust applications.

Propriedades

BlockSize

Obtém o tamanho do bloco de criptografia, em bytes.Gets the cipher block size, in bytes.

BoundGrants

Obtém uma coleção que lista os direitos que foram aprovados na verificação e que são concedidos ao usuário.Gets a collection listing the rights that passed verification and that are granted to the user.

CanDecrypt

Obtém um valor que indica se o usuário tem direitos de descriptografia.Gets a value that indicates whether the user has rights to decrypt.

CanEncrypt

Obtém um valor que indica se o usuário tem direitos de criptografia.Gets a value that indicates whether the user has rights to encrypt.

CanMergeBlocks

Obtém um valor que indica se Encrypt(Byte[]) e Decrypt(Byte[]) podem aceitar buffers que têm diferentes tamanhos de bloco.Gets a value that indicates whether Encrypt(Byte[]) and Decrypt(Byte[]) can accept buffers that are different block sizes in length.

Métodos

Decrypt(Byte[])

Descriptografa o texto de criptografia para limpar o texto.Decrypts cipher text to clear text.

Dispose()

Libera todos os recursos usados pelo CryptoProvider.Releases all resources used by the CryptoProvider.

Dispose(Boolean)

Libera os recursos não gerenciados usados pelo CryptoProvider e opcionalmente libera os recursos gerenciados.Releases the unmanaged resources used by the CryptoProvider and optionally releases the managed resources.

Encrypt(Byte[])

Criptografa o texto não criptografado para um texto de criptografia.Encrypts clear text to cipher text.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Herdado de Object)
Finalize()

Libera recursos e executa uma limpeza interna antes que a instância seja recuperada pela coleta de lixo.Frees resources and performs internal cleanup before the instance is reclaimed by garbage collection.

GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(Herdado de Object)

Aplica-se a

Veja também