RSACng Classe

Definição

Fornece uma implementação CNG (Cryptography Next Generation) do algoritmo RSA.Provides a Cryptography Next Generation (CNG) implementation of the RSA algorithm.

public ref class RSACng sealed : System::Security::Cryptography::RSA
public sealed class RSACng : System.Security.Cryptography.RSA
type RSACng = class
    inherit RSA
Public NotInheritable Class RSACng
Inherits RSA
Herança

Comentários

A classe RSACng é derivada da classe RSA.The RSACng class is derived from the RSA class. Portanto, não é uma substituição de redistribuição para usos existentes de RSACryptoServiceProvider.Therefore, it is not a drop-in replacement for existing uses of RSACryptoServiceProvider.

RSACng usa um modelo de programação semelhante à classe ECDsaCng em vez da classe RSACryptoServiceProvider.RSACng uses a programming model that is similar to the ECDsaCng class rather than the RSACryptoServiceProvider class. Por exemplo:For example:

  • A chave usada pelo RSACng é gerenciada por um objeto CngKey separado.The key used by RSACng is managed by a separate CngKey object. Por outro lado, RSACryptoServiceProvider tem uma chave diretamente vinculada às operações do próprio tipo.In contrast, RSACryptoServiceProvider has a key that is directly tied to the operations of the type itself.

  • RSACng executa operações como assinatura e verificação de assinaturas usando as propriedades do objeto RSACng, assim como ECDsaCng usa suas propriedades de objeto para controlar as operações de assinatura e verificação.RSACng performs such operations as signing and verifying signatures by using properties of the RSACng object, just as ECDsaCng uses its object properties to control signing and verification operations.

Observação

A classe RSACng é uma implementação do algoritmo RSA usando as bibliotecas CNG do Windows e não está disponível em sistemas operacionais diferentes do Windows.The RSACng class is an implementation of the RSA algorithm using the Windows CNG libraries and isn't available on operating systems other than Windows. Para aplicativos que não estão fazendo a interoperabilidade do Windows, você é incentivado a usar RSA.Create em vez de fazer referência a esse tipo diretamente.For applications which aren't doing Windows interop, you're encouraged to use RSA.Create instead of referencing this type directly.

Construtores

RSACng()

Inicializa uma nova instância da classe RSACng com um par de chaves aleatório de 2.048 bits.Initializes a new instance of the RSACng class with a random 2,048-bit key pair.

RSACng(CngKey)

Inicializa uma nova instância da classe RSACng com a chave especificada.Initializes a new instance of the RSACng class with the specified key.

RSACng(Int32)

Inicializa uma nova instância da classe RSACng com uma chave gerada aleatoriamente do tamanho especificado.Initializes a new instance of the RSACng class with a randomly generated key of the specified size.

Campos

KeySizeValue

Representa o tamanho, em bits, do módulo chave usado pelo algoritmo assimétrico.Represents the size, in bits, of the key modulus used by the asymmetric algorithm.

(Herdado de AsymmetricAlgorithm)
LegalKeySizesValue

Especifica os tamanhos de chave que são compatíveis com o algoritmo assimétrico.Specifies the key sizes that are supported by the asymmetric algorithm.

(Herdado de AsymmetricAlgorithm)

Propriedades

Key

Obtém a chave que será usada pelo objeto RSACng para qualquer operação criptográfica realizada.Gets the key that will be used by the RSACng object for any cryptographic operation that it performs.

KeyExchangeAlgorithm

Obtém o nome do algoritmo de troca de chaves disponível com esta implementação de RSA.Gets the name of the key exchange algorithm available with this implementation of RSA.

KeySize

Obtém ou define o tamanho, em bits, do módulo chave usado pelo algoritmo assimétrico.Gets or sets the size, in bits, of the key modulus used by the asymmetric algorithm.

(Herdado de AsymmetricAlgorithm)
LegalKeySizes

Obtém os tamanhos de chaves, em bits, com suporte nesta implementação do RSA.Gets the key sizes, in bits, that are supported by this implementation of RSA.

SignatureAlgorithm

Obtém o nome do algoritmo de assinatura disponível com esta implementação da RSA.Gets the name of the signature algorithm available with this implementation of RSA.

Métodos

Clear()

Libera todos os recursos usados pela classe AsymmetricAlgorithm.Releases all resources used by the AsymmetricAlgorithm class.

(Herdado de AsymmetricAlgorithm)
Decrypt(Byte[], RSAEncryptionPadding)

Descriptografa os dados de entrada usando o modo de preenchimento especificado.Decrypts input data using the specified padding mode.

DecryptValue(Byte[])

Descriptografa os dados de entrada usando a chave privada.Decrypts the input data using the private key.

Dispose()

Libera todos os recursos usados pela instância atual da classe AsymmetricAlgorithm.Releases all resources used by the current instance of the AsymmetricAlgorithm class.

(Herdado de AsymmetricAlgorithm)
Dispose(Boolean)

Libera os recursos não gerenciados usados pela classe AsymmetricAlgorithm e, opcionalmente, libera os recursos gerenciados.Releases the unmanaged resources used by the AsymmetricAlgorithm class and optionally releases the managed resources.

(Herdado de AsymmetricAlgorithm)
Encrypt(Byte[], RSAEncryptionPadding)

Criptografa os dados de entrada usando o preenchimento especificado.Encrypts the input data using the specified padding.

EncryptValue(Byte[])

Criptografa os dados de entrada usando a chave pública.Encrypts the input data using the public key.

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)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters)

Exporta a chave atual no formato EncryptedPrivateKeyInfo do PKCS nº 8 com uma senha baseada em bytes.Exports the current key in the PKCS#8 EncryptedPrivateKeyInfo format with a byte-based password.

(Herdado de AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters)

Exporta a chave atual no formato EncryptedPrivateKeyInfo do PKCS nº 8 com uma senha baseada em caracteres.Exports the current key in the PKCS#8 EncryptedPrivateKeyInfo format with a char-based password.

(Herdado de AsymmetricAlgorithm)
ExportParameters(Boolean)

Exporta a chave usada pelo objeto RSA para um objeto RSAParameters.Exports the key used by the RSA object into a RSAParameters object.

ExportPkcs8PrivateKey()

Exporta a chave atual no formato PrivateKeyInfo do PKCS nº 8.Exports the current key in the PKCS#8 PrivateKeyInfo format.

(Herdado de AsymmetricAlgorithm)
ExportRSAPrivateKey()

Exporta a chave atual no formato RSAPrivateKey do PKCS# nº 1.Exports the current key in the PKCS#1 RSAPrivateKey format.

(Herdado de RSA)
ExportRSAPublicKey()

Exporta a parte pública da chave atual no formato RSAPublicKey do PKCS nº 1.Exports the public-key portion of the current key in the PKCS#1 RSAPublicKey format.

(Herdado de RSA)
ExportSubjectPublicKeyInfo()

Exporta a parte pública da chave atual no formato SubjectPublicKeyInfo X.509.Exports the public-key portion of the current key in the X.509 SubjectPublicKeyInfo format.

(Herdado de AsymmetricAlgorithm)
FromXmlString(String)

Inicializa um objeto RSA de informações de chave de uma cadeia de caracteres XML.Initializes an RSA object from the key information from an XML string.

(Herdado de RSA)
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)
HashData(Byte[], Int32, Int32, HashAlgorithmName)

Quando substituído em uma classe derivada, calcula o valor de hash de uma parte especificada de uma matriz de bytes usando um algoritmo de hash especificado.When overridden in a derived class, computes the hash value of a specified portion of a byte array by using a specified hashing algorithm.

(Herdado de RSA)
HashData(Stream, HashAlgorithmName)

Quando substituído em uma classe derivada, calcula o valor de hash de um fluxo binário especificado usando um algoritmo de hash especificado.When overridden in a derived class, computes the hash value of a specified binary stream by using a specified hashing algorithm.

(Herdado de RSA)
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32)

Importa o par de chaves pública/privada de uma estrutura de EncryptedPrivateKeyInfo do PKCS nº 8 após descriptografar com uma senha baseada em bytes, substituindo as chaves desse objeto.Imports the public/private keypair from a PKCS#8 EncryptedPrivateKeyInfo structure after decrypting with a byte-based password, replacing the keys for this object.

(Herdado de RSA)
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32)

Importa o par de chaves pública/privada de uma estrutura de EncryptedPrivateKeyInfo do PKCS nº 8 após descriptografar com uma senha baseada em caracteres, substituindo as chaves desse objeto.Imports the public/private keypair from a PKCS#8 EncryptedPrivateKeyInfo structure after decrypting with a char-based password, replacing the keys for this object.

(Herdado de RSA)
ImportParameters(RSAParameters)

Substitui a chave existente em que a instância atual está trabalhando, criando um novo CngKey para a estrutura dos parâmetros.Replaces the existing key that the current instance is working with by creating a new CngKey for the parameters structure.

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

Importa o par de chaves pública/privada de uma estrutura de PrivateKeyInfo do PKCS nº 8 após a descriptografia, substituindo as chaves desse objeto.Imports the public/private keypair from a PKCS#8 PrivateKeyInfo structure after decryption, replacing the keys for this object.

(Herdado de RSA)
ImportRSAPrivateKey(ReadOnlySpan<Byte>, Int32)

Importa o par de chaves pública/privada de uma estrutura de RSAPrivateKey do PKCS nº 1 após a descriptografia, substituindo as chaves desse objeto.Imports the public/private keypair from a PKCS#1 RSAPrivateKey structure after decryption, replacing the keys for this object.

(Herdado de RSA)
ImportRSAPublicKey(ReadOnlySpan<Byte>, Int32)

Importa a chave pública de uma estrutura de RSAPublicKey do PKCS nº 1 após a descriptografia, substituindo as chaves desse objeto.Imports the public key from a PKCS#1 RSAPublicKey structure after decryption, replacing the keys for this object.

(Herdado de RSA)
ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

Importa a chave pública de uma estrutura de SubjectPublicKeyInfo X.509 após a descriptografia, substituindo as chaves desse objeto.Imports the public key from an X.509 SubjectPublicKeyInfo structure after decryption, replacing the keys for this object.

(Herdado de RSA)
MemberwiseClone()

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

(Herdado de Object)
SignData(Byte[], HashAlgorithmName, RSASignaturePadding)

Calcula o valor de hash da matriz de bytes especificada usando o algoritmo de hash especificado e o modo de preenchimento, e assina o valor de hash resultante.Computes the hash value of the specified byte array using the specified hash algorithm and padding mode, and signs the resulting hash value.

(Herdado de RSA)
SignData(Byte[], Int32, Int32, HashAlgorithmName, RSASignaturePadding)

Calcula o valor de hash de uma parte da matriz de bytes especificada usando o algoritmo de hash e o modo de preenchimento especificados e assina o valor de hash resultante.Computes the hash value of a portion of the specified byte array using the specified hash algorithm and padding mode, and signs the resulting hash value.

(Herdado de RSA)
SignData(Stream, HashAlgorithmName, RSASignaturePadding)

Calcula o valor de hash do fluxo especificado usando o algoritmo de hash e o modo de preenchimento especificados e assina o valor de hash resultante.Computes the hash value of the specified stream using the specified hash algorithm and padding mode, and signs the resulting hash value.

(Herdado de RSA)
SignHash(Byte[], HashAlgorithmName, RSASignaturePadding)

Assina dados que passaram por hash usando o algoritmo de hash especificado e o modo de preenchimento.Signs data that was hashed by using the specified hashing algorithm and padding mode.

ToString()

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

(Herdado de Object)
ToXmlString(Boolean)

Cria e retorna uma cadeia de caracteres XML que contém a chave do atual objeto RSA.Creates and returns an XML string containing the key of the current RSA object.

(Herdado de RSA)
TryDecrypt(ReadOnlySpan<Byte>, Span<Byte>, RSAEncryptionPadding, Int32)

Tenta descriptografar os dados de entrada usando o modo de preenchimento especificado, gravando o resultado em um buffer fornecido.Attempts to decrypt the input data using the specified padding mode, writing the result into a provided buffer.

(Herdado de RSA)
TryEncrypt(ReadOnlySpan<Byte>, Span<Byte>, RSAEncryptionPadding, Int32)

Tenta criptografar os dados de entrada com um modo de preenchimento especificado em um buffer fornecido.Attempts to encrypt the input data with a specified padding mode into a provided buffer.

(Herdado de RSA)
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32)

Tenta exportar a chave atual no formato EncryptedPrivateKeyInfo do PKCS n º 8 para um buffer fornecido, usando uma senha baseada em bytes.Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a byte-based password.

(Herdado de RSA)
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32)

Tenta exportar a chave atual no formato EncryptedPrivateKeyInfo do PKCS n º 8 para um buffer fornecido, usando uma senha baseada em caracteres.Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a char-based password.

(Herdado de RSA)
TryExportPkcs8PrivateKey(Span<Byte>, Int32)

Tenta exportar a chave atual no formato PrivateKeyInfo do PKCS n º 8 para um buffer fornecido.Attempts to export the current key in the PKCS#8 PrivateKeyInfo format into a provided buffer.

(Herdado de RSA)
TryExportRSAPrivateKey(Span<Byte>, Int32)

Tenta exportar a chave atual no formato RSAPrivateKey do PKCS nº 1 para um buffer fornecido.Attempts to export the current key in the PKCS#1 RSAPrivateKey format into a provided buffer.

(Herdado de RSA)
TryExportRSAPublicKey(Span<Byte>, Int32)

Tenta exportar a chave atual no formato RSAPublicKey do PKCS nº 1 para um buffer fornecido.Attempts to export the current key in the PKCS#1 RSAPublicKey format into a provided buffer.

(Herdado de RSA)
TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

Tenta exportar a chave atual no formato SubjectPublicKeyInfo X.509 para um buffer fornecido.Attempts to export the current key in the X.509 SubjectPublicKeyInfo format into a provided buffer.

(Herdado de RSA)
TryHashData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32)

Tenta computar o hash dos dados fornecidos usando o algoritmo especificado, gravando os resultados em um buffer fornecido.Attempts to compute the hash of the provided data by using the specified algorithm, writing the results into a provided buffer.

(Herdado de RSA)
TrySignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, RSASignaturePadding, Int32)

Tenta fazer o hash dos dados fornecidos com o algoritmo especificado e assinar o hash com a chave atual, gravando a assinatura em um buffer fornecido.Attempts to hash the provided data with the specified algorithm and sign the hash with the current key, writing the signature into a provided buffer.

(Herdado de RSA)
TrySignHash(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, RSASignaturePadding, Int32)

Tenta assinar o hash com a chave atual, gravando a assinatura em um buffer fornecido.Attempts to sign the hash with the current key, writing the signature into a provided buffer.

(Herdado de RSA)
VerifyData(Byte[], Byte[], HashAlgorithmName, RSASignaturePadding)

Verifica se uma assinatura digital é válida, calculando o valor de hash dos dados especificados usando o preenchimento e algoritmo de hash especificados e comparando-o à assinatura fornecida.Verifies that a digital signature is valid by calculating the hash value of the specified data using the specified hash algorithm and padding, and comparing it to the provided signature.

(Herdado de RSA)
VerifyData(Byte[], Int32, Int32, Byte[], HashAlgorithmName, RSASignaturePadding)

Verifica se uma assinatura digital é válida calculando o valor de hash dos dados em uma parte de uma matriz de bytes usando o preenchimento e o algoritmo de hash especificados e comparando-a à assinatura fornecida.Verifies that a digital signature is valid by calculating the hash value of the data in a portion of a byte array using the specified hash algorithm and padding, and comparing it to the provided signature.

(Herdado de RSA)
VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName, RSASignaturePadding)

Verifica se uma assinatura digital é válida, calculando o valor de hash dos dados especificados usando o preenchimento e algoritmo de hash especificados e comparando-o à assinatura fornecida.Verifies that a digital signature is valid by calculating the hash value of the specified data using the specified hash algorithm and padding, and comparing it to the provided signature.

(Herdado de RSA)
VerifyData(Stream, Byte[], HashAlgorithmName, RSASignaturePadding)

Verifica se uma assinatura digital é válida calculando o valor de hash do fluxo especificado usando o preenchimento e algoritmo de hash especificados e comparando-o à a assinatura fornecida.Verifies that a digital signature is valid by calculating the hash value of the specified stream using the specified hash algorithm and padding, and comparing it to the provided signature.

(Herdado de RSA)
VerifyHash(Byte[], Byte[], HashAlgorithmName, RSASignaturePadding)

Verifica os dados que assinados e que já passaram por hash com o algoritmo e o modo de preenchimento especificados.Verifies data that was signed and already hashed with the specified algorithm and padding mode.

VerifyHash(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName, RSASignaturePadding)

Verifica se uma assinatura digital é válida determinando o valor de hash na assinatura usando o preenchimento e o algoritmo de hash especificados e comparando-a ao valor de hash fornecido.Verifies that a digital signature is valid by determining the hash value in the signature using the specified hash algorithm and padding, and comparing it to the provided hash value.

(Herdado de RSA)

Implantações explícitas de interface

IDisposable.Dispose()

Para obter uma descrição desse membro, confira Dispose().For a description of this member, see Dispose().

(Herdado de AsymmetricAlgorithm)

Aplica-se a