Compartilhar via


RSA Classe

Definição

Representa a classe base da qual todas as implementações do algoritmo RSA são herdadas.

public ref class RSA abstract : System::Security::Cryptography::AsymmetricAlgorithm
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public abstract class RSA : System.Security.Cryptography.AsymmetricAlgorithm
public abstract class RSA : System.Security.Cryptography.AsymmetricAlgorithm
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class RSA : System.Security.Cryptography.AsymmetricAlgorithm
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
type RSA = class
    inherit AsymmetricAlgorithm
type RSA = class
    inherit AsymmetricAlgorithm
[<System.Runtime.InteropServices.ComVisible(true)>]
type RSA = class
    inherit AsymmetricAlgorithm
Public MustInherit Class RSA
Inherits AsymmetricAlgorithm
Herança
Derivado
Atributos

Comentários

Os desenvolvedores são incentivados a programar em relação à RSA classe base em vez de qualquer classe derivada específica. As classes derivadas destinam-se à interoperabilidade com as bibliotecas criptográficas do sistema subjacentes.

Construtores

RSA()

Inicializa uma nova instância da classe RSA.

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

KeyExchangeAlgorithm

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

KeyExchangeAlgorithm

Quando substituída em uma classe derivada, obtém o nome do algoritmo de troca de chaves. Caso contrário, gerará um NotImplementedException.

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

SignatureAlgorithm

Quando implementado em uma classe derivada, obtém o nome do algoritmo de assinatura. Caso contrário, sempre gerará um NotImplementedException.

(Herdado de AsymmetricAlgorithm)

Métodos

Clear()

Libera todos os recursos usados pela classe AsymmetricAlgorithm.

(Herdado de AsymmetricAlgorithm)
Create()

Cria uma instância da implementação padrão do algoritmo RSA.

Create(Int32)

Cria uma nova chave RSA efêmera com o tamanho da chave especificado.

Create(RSAParameters)

Cria uma nova chave RSA efêmera com os parâmetros de chave RSA especificados.

Create(String)
Obsoleto.

Cria uma nova instância da implementação especificada de RSA.

Decrypt(Byte[], RSAEncryptionPadding)

Quando substituído em uma classe derivada, 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.

Decrypt(ReadOnlySpan<Byte>, Span<Byte>, RSAEncryptionPadding)

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

DecryptValue(Byte[])
Obsoleto.

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

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)

Quando substituído em uma classe derivada, criptografa os dados de entrada usando o modo de preenchimento especificado.

Encrypt(ReadOnlySpan<Byte>, RSAEncryptionPadding)

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

Encrypt(ReadOnlySpan<Byte>, Span<Byte>, RSAEncryptionPadding)

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

EncryptValue(Byte[])
Obsoleto.

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

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.

(Herdado de AsymmetricAlgorithm)
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 caracteres, codificada em PEM.

(Herdado de AsymmetricAlgorithm)
ExportParameters(Boolean)

Quando substituído em uma classe derivada, exporta o RSAParameters.

ExportPkcs8PrivateKey()

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

(Herdado de AsymmetricAlgorithm)
ExportPkcs8PrivateKeyPem()

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

(Herdado de AsymmetricAlgorithm)
ExportRSAPrivateKey()

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

ExportRSAPrivateKeyPem()

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

ExportRSAPublicKey()

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

ExportRSAPublicKeyPem()

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

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.

FromXmlString(String)

Quando substituído em uma classe derivada, recria um objeto AsymmetricAlgorithm de uma cadeia de caracteres XML. Caso contrário, gerará um NotImplementedException.

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

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.

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.

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)

Quando substituído em uma classe derivada, 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 AsymmetricAlgorithm)
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)

Quando substituído em uma classe derivada, 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 AsymmetricAlgorithm)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Byte>)

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

ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Byte>)

Quando substituído em uma classe derivada, importa uma chave criptografada no formato PEM conforme RFC 7468, substituindo as chaves do objeto.

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

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

ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Char>)

Quando substituído em uma classe derivada, importa uma chave criptografada no formato PEM conforme RFC 7468, substituindo as chaves do objeto.

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

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

ImportFromPem(ReadOnlySpan<Char>)

Quando substituído em uma classe derivada, importa uma chave codificada textualmente conforme RFC 7468, substituindo as chaves do objeto.

(Herdado de AsymmetricAlgorithm)
ImportParameters(RSAParameters)

Quando é substituído em uma classe derivada, importa o RSAParameters especificado.

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)

Quando substituído em uma classe derivada, 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 AsymmetricAlgorithm)
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.

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.

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.

ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

Quando substituído em uma classe derivada, importa a chave pública de uma estrutura de SubjectPublicKeyInfo X.509 após a descriptografia, substituindo as chaves desse objeto.

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

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.

SignData(ReadOnlySpan<Byte>, HashAlgorithmName, RSASignaturePadding)

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

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.

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.

SignHash(Byte[], HashAlgorithmName, RSASignaturePadding)

Quando substituído em uma classe derivada, computa a assinatura para o valor de hash especificado usando o preenchimento especificado.

SignHash(ReadOnlySpan<Byte>, HashAlgorithmName, RSASignaturePadding)

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

SignHash(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, RSASignaturePadding)

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

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.

ToXmlString(Boolean)

Quando substituído em uma classe derivada, cria e retorna uma representação de cadeia de caracteres XML do objeto AsymmetricAlgorithm atual. Caso contrário, gerará um NotImplementedException.

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

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

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

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)

Quando substituído em uma classe derivada, tenta exportar a chave atual no formato EncryptedPrivateKeyInfo do PKCS nº 8 para um buffer fornecido, usando uma senha baseada em bytes.

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

Quando substituído em uma classe derivada, tenta exportar a chave atual no formato EncryptedPrivateKeyInfo do PKCS nº 8 para um buffer fornecido, usando uma senha baseada em caracteres.

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

Tenta exportar a chave atual no formato PKCS#8 EncryptedPrivateKeyInfo 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 caracteres, 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)

Quando substituído em uma classe derivada, tenta exportar a chave atual no formato PrivateKeyInfo do PKCS nº 8 para um buffer fornecido.

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

Tenta exportar a chave atual no formato PKCS#8 PrivateKeyInfo 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.

TryExportRSAPrivateKeyPem(Span<Char>, Int32)

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

TryExportRSAPublicKey(Span<Byte>, Int32)

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

TryExportRSAPublicKeyPem(Span<Char>, Int32)

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

TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

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

TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

Quando substituído em uma classe derivada, tenta exportar a chave atual no formato SubjectPublicKeyInfo do X.509 para um buffer fornecido.

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

Tenta exportar a chave atual no formato SubjectPublicKeyInfo 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.

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.

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

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

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.

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.

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.

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.

VerifyHash(Byte[], 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.

Implantações explícitas de interface

IDisposable.Dispose()

Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código.

Para obter uma descrição desse membro, confira Dispose().

(Herdado de AsymmetricAlgorithm)

Aplica-se a

Confira também