RSACng Classe

Definição

Fornece uma implementação CNG (Cryptography Next Generation) do algoritmo RSA.

public sealed class RSACng : System.Security.Cryptography.RSA
Herança

Comentários

A RSACng classe é derivada da RSA classe . Portanto, não é uma substituição de drop-in para usos existentes de RSACryptoServiceProvider.

RSACng usa um modelo de programação semelhante à ECDsaCng classe em vez da RSACryptoServiceProvider classe . Por exemplo:

  • A chave usada por RSACng é gerenciada por um objeto separado CngKey . Por outro lado, RSACryptoServiceProvider tem uma chave que está diretamente vinculada às operações do próprio tipo.

  • RSACng executa operações como assinar e verificar assinaturas usando propriedades do RSACng objeto, assim como ECDsaCng usa suas propriedades de objeto para controlar operações de assinatura e verificação.

Nota

A RSACng classe é uma implementação do algoritmo RSA usando as bibliotecas CNG do Windows e não está disponível em sistemas operacionais diferentes do Windows. Para aplicativos que não estão fazendo interoperabilidade do Windows, você é incentivado a usar RSA.Create em vez de referenciar esse tipo diretamente.

Construtores

RSACng()

Inicializa uma nova instância da classe RSACng com um par de chaves aleatório de 2.048 bits.

RSACng(CngKey)

Inicializa uma nova instância da classe RSACng com a chave especificada.

RSACng(Int32)

Inicializa uma nova instância da classe RSACng com uma chave gerada aleatoriamente do tamanho especificado.

Campos

KeySizeValue

Representa o tamanho, em bits, do módulo chave usado pelo algoritmo assimétrico.

(Herdado de AsymmetricAlgorithm)
LegalKeySizesValue

Especifica os tamanhos de chave que são compatíveis com o algoritmo assimétrico.

(Herdado de AsymmetricAlgorithm)

Propriedades

Key

Obtém a chave que será usada pelo objeto RSACng para qualquer operação criptográfica realizada.

KeyExchangeAlgorithm

Obtém o nome do algoritmo de troca de chaves disponível com esta implementação de RSA.

KeyExchangeAlgorithm

Obtém o nome do algoritmo de troca de chaves disponível com esta implementação de RSA.

(Herdado de RSA)
KeySize

Obtém ou define o tamanho, em bits, do módulo chave usado pelo algoritmo assimétrico.

(Herdado de AsymmetricAlgorithm)
LegalKeySizes

Obtém os tamanhos de chaves, em bits, com suporte nesta implementação do RSA.

LegalKeySizes

Obtém os tamanhos de chave que têm suporte pelo algoritmo assimétrico.

(Herdado de AsymmetricAlgorithm)
SignatureAlgorithm

Obtém o nome do algoritmo de assinatura disponível com esta implementação da RSA.

SignatureAlgorithm

Obtém o nome do algoritmo de assinatura disponível com esta implementação de RSA.

(Herdado de RSA)

Métodos

Clear()

Libera todos os recursos usados pela classe AsymmetricAlgorithm.

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

Descriptografa os dados de entrada usando o modo de preenchimento especificado.

Decrypt(ReadOnlySpan<Byte>, RSAEncryptionPadding)

Descriptografa os dados de entrada usando o modo de preenchimento especificado.

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

Descriptografa os dados de entrada usando o modo de preenchimento especificado.

(Herdado de RSA)
DecryptValue(Byte[])

Descriptografa os dados de entrada usando a chave privada.

DecryptValue(Byte[])
Obsoleto.

Quando substituído em uma classe derivada, descriptografa os dados de entrada usando a chave privada.

(Herdado de RSA)
Dispose()

Libera todos os recursos usados pela instância atual da classe AsymmetricAlgorithm.

(Herdado de AsymmetricAlgorithm)
Dispose(Boolean)

Libera os recursos não gerenciados usados pela classe AsymmetricAlgorithm e, opcionalmente, libera os recursos gerenciados.

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

Criptografa os dados de entrada usando o preenchimento especificado.

Encrypt(ReadOnlySpan<Byte>, RSAEncryptionPadding)

Criptografa os dados de entrada usando o modo de preenchimento especificado.

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

Criptografa os dados de entrada usando o modo de preenchimento especificado.

(Herdado de RSA)
EncryptValue(Byte[])

Criptografa os dados de entrada usando a chave pública.

EncryptValue(Byte[])
Obsoleto.

Quando substituído em uma classe derivada, criptografa os dados de entrada usando a chave pública.

(Herdado de RSA)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters)

Exporta a chave atual no formato EncryptedPrivateKeyInfo do PKCS nº 8 com uma senha baseada em bytes.

ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters)

Exporta a chave atual no formato EncryptedPrivateKeyInfo do PKCS nº 8 com uma senha baseada em bytes.

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

Exporta a chave atual no formato EncryptedPrivateKeyInfo do PKCS nº 8 com uma senha baseada em caracteres.

ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters)

Exporta a chave atual no formato EncryptedPrivateKeyInfo do PKCS nº 8 com uma senha baseada em caracteres.

(Herdado de AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters)

Exporta a chave atual no formato PKCS#8 EncryptedPrivateKeyInfo com uma senha baseada em bytes, codificada em PEM.

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

Exporta a chave atual no formato PKCS#8 EncryptedPrivateKeyInfo com uma senha baseada em char, codificada em PEM.

(Herdado de AsymmetricAlgorithm)
ExportParameters(Boolean)

Exporta a chave usada pelo objeto RSA para um objeto RSAParameters.

ExportPkcs8PrivateKey()

Exporta a chave atual no formato PrivateKeyInfo do PKCS nº 8.

(Herdado de AsymmetricAlgorithm)
ExportPkcs8PrivateKeyPem()

Exporta a chave atual no formato PrivateKeyInfo PKCS nº 8, codificado em PEM.

(Herdado de AsymmetricAlgorithm)
ExportRSAPrivateKey()

Exporta a chave atual no formato RSAPrivateKey do PKCS# nº 1.

(Herdado de RSA)
ExportRSAPrivateKeyPem()

Exporta a chave atual no formato PKCS#1 RSAPrivateKey, codificado em PEM.

(Herdado de RSA)
ExportRSAPublicKey()

Exporta a parte pública da chave atual no formato RSAPublicKey do PKCS nº 1.

(Herdado de RSA)
ExportRSAPublicKeyPem()

Exporta a parte de chave pública da chave atual no formato PKCS#1 RSAPublicKey, codificado em PEM.

(Herdado de RSA)
ExportSubjectPublicKeyInfo()

Exporta a parte pública da chave atual no formato SubjectPublicKeyInfo X.509.

(Herdado de AsymmetricAlgorithm)
ExportSubjectPublicKeyInfoPem()

Exporta a parte de chave pública da chave atual no formato SubjectPublicKeyInfo X.509, codificado em PEM.

(Herdado de AsymmetricAlgorithm)
FromXmlString(String)

Inicializa um objeto RSA de informações de chave de uma cadeia de caracteres XML.

(Herdado de RSA)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetMaxOutputSize()

Obtém o número máximo de bytes que uma operação RSA pode produzir.

(Herdado de RSA)
GetType()

Obtém o Type da instância atual.

(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.

(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.

(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.

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.

(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.

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.

(Herdado de RSA)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Byte>)

Importa uma chave privada criptografada no formato PEM conforme RFC 7468, substituindo as chaves do objeto.

(Herdado de RSA)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Char>)

Importa uma chave privada criptografada no formato PEM conforme RFC 7468, substituindo as chaves do objeto.

(Herdado de RSA)
ImportFromPem(ReadOnlySpan<Char>)

Importa uma chave codificada no formato PEM do RFC 7468, substituindo as chaves do objeto.

(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.

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.

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.

(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.

(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.

(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.

(Herdado de RSA)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(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.

(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.

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

Calcula o valor de hash dos dados especificados e o assina.

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

Calcula o hash dos dados fornecidos com o algoritmo especificado e assina o hash com a chave atual, gravando a assinatura em um buffer fornecido.

(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.

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

Assina dados que passaram por hash usando o algoritmo de hash especificado e o modo de preenchimento.

SignHash(ReadOnlySpan<Byte>, HashAlgorithmName, RSASignaturePadding)

Computa a assinatura para o valor de hash especificado usando o preenchimento especificado.

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

Assina o hash com a chave atual, gravando a assinatura em um buffer fornecido.

(Herdado de RSA)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)
ToXmlString(Boolean)

Cria e retorna uma cadeia de caracteres XML que contém a chave do atual objeto RSA.

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

Descriptografa dados usando a chave privada.

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.

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

Criptografa dados usando a chave pública.

TryEncrypt(ReadOnlySpan<Byte>, Span<Byte>, RSAEncryptionPadding, Int32)

Tenta criptografar os dados de entrada com um modo de preenchimento especificado em um buffer fornecido.

(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.

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.

(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.

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.

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

Tenta exportar a chave atual no formato EncryptedPrivateKeyInfo do PKCS nº 8 com uma senha baseada em bytes, codificada em PEM.

(Herdado de AsymmetricAlgorithm)
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters, Span<Char>, Int32)

Exporta a chave atual no formato PKCS#8 EncryptedPrivateKeyInfo com uma senha baseada em char, codificada em PEM.

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

Tenta exportar a chave atual no formato PrivateKeyInfo do PKCS n º 8 para um buffer fornecido.

TryExportPkcs8PrivateKey(Span<Byte>, Int32)

Tenta exportar a chave atual no formato PrivateKeyInfo do PKCS n º 8 para um buffer fornecido.

(Herdado de RSA)
TryExportPkcs8PrivateKeyPem(Span<Char>, Int32)

Tenta exportar a chave atual no formato PrivateKeyInfo PKCS nº 8 codificado em PEM para um buffer fornecido.

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

Tenta exportar a chave atual no formato RSAPrivateKey do PKCS nº 1 para um buffer fornecido.

(Herdado de RSA)
TryExportRSAPrivateKeyPem(Span<Char>, Int32)

Tenta exportar a chave atual no formato PKCS#1 RSAPrivateKey codificado em PEM para um buffer fornecido.

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

Tenta exportar a chave atual no formato RSAPublicKey do PKCS nº 1 para um buffer fornecido.

(Herdado de RSA)
TryExportRSAPublicKeyPem(Span<Char>, Int32)

Tenta exportar a chave atual no formato RSAPublicKey PKCS nº 1 codificado em PEM para um buffer fornecido.

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

Tenta exportar a chave atual no formato SubjectPublicKeyInfo X.509 para um buffer fornecido.

(Herdado de RSA)
TryExportSubjectPublicKeyInfoPem(Span<Char>, Int32)

Tenta exportar a chave atual no formato SubjectPublicKeyInfo X.509 codificado em PEM para um buffer fornecido.

(Herdado de AsymmetricAlgorithm)
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.

(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.

(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.

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

Tenta assinar o hash com a chave atual, gravando a assinatura em um buffer fornecido.

(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.

(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.

(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.

(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.

(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.

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.

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.

(Herdado de RSA)

Aplica-se a

Produto Versões
.NET Core 1.0, Core 1.1, 6, 7, 8, 9
.NET Framework 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1 (package-provided), 4.7.1, 4.7.2 (package-provided), 4.7.2, 4.8 (package-provided), 4.8, 4.8.1
.NET Standard 2.0 (package-provided), 2.1 (package-provided)
Windows Desktop 3.0, 3.1, 5