RSACryptoServiceProvider Clase

Definición

Realiza el cifrado y descifrado asimétricos utilizando la implementación del algoritmo RSA proporcionada por el proveedor de servicios criptográficos (CSP).Performs asymmetric encryption and decryption using the implementation of the RSA algorithm provided by the cryptographic service provider (CSP). Esta clase no puede heredarse.This class cannot be inherited.

public ref class RSACryptoServiceProvider sealed : System::Security::Cryptography::RSA, System::Security::Cryptography::ICspAsymmetricAlgorithm
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class RSACryptoServiceProvider : System.Security.Cryptography.RSA, System.Security.Cryptography.ICspAsymmetricAlgorithm
type RSACryptoServiceProvider = class
    inherit RSA
    interface ICspAsymmetricAlgorithm
Public NotInheritable Class RSACryptoServiceProvider
Inherits RSA
Implements ICspAsymmetricAlgorithm
Herencia
RSACryptoServiceProvider
Atributos
Implementaciones

Ejemplos

En el ejemplo de código siguiente RSACryptoServiceProvider se usa la clase para cifrar una cadena en una matriz de bytes y, a continuación, descifrar los bytes de nuevo en una cadena.The following code example uses the RSACryptoServiceProvider class to encrypt a string into an array of bytes and then decrypt the bytes back into a string.

using namespace System;
using namespace System::Security::Cryptography;
using namespace System::Text;
array<Byte>^ RSAEncrypt( array<Byte>^DataToEncrypt, RSAParameters RSAKeyInfo, bool DoOAEPPadding )
{
   try
   {
      
      //Create a new instance of RSACryptoServiceProvider.
      RSACryptoServiceProvider^ RSA = gcnew RSACryptoServiceProvider;
      
      //Import the RSA Key information. This only needs
      //toinclude the public key information.
      RSA->ImportParameters( RSAKeyInfo );
      
      //Encrypt the passed byte array and specify OAEP padding.  
      //OAEP padding is only available on Microsoft Windows XP or
      //later.  

      array<Byte>^encryptedData = RSA->Encrypt( DataToEncrypt, DoOAEPPadding );
      delete RSA;
      return encryptedData;
   }
   //Catch and display a CryptographicException  
   //to the console.
   catch ( CryptographicException^ e ) 
   {
      Console::WriteLine( e->Message );
      return nullptr;
   }

}

array<Byte>^ RSADecrypt( array<Byte>^DataToDecrypt, RSAParameters RSAKeyInfo, bool DoOAEPPadding )
{
   try
   {
      
      //Create a new instance of RSACryptoServiceProvider.
      RSACryptoServiceProvider^ RSA = gcnew RSACryptoServiceProvider;
      
      //Import the RSA Key information. This needs
      //to include the private key information.
      RSA->ImportParameters( RSAKeyInfo );
      
      //Decrypt the passed byte array and specify OAEP padding.  
      //OAEP padding is only available on Microsoft Windows XP or
      //later.  
      
      array<Byte>^decryptedData = RSA->Decrypt( DataToDecrypt, DoOAEPPadding );
      delete RSA;
      return decryptedData;
   }
   //Catch and display a CryptographicException  
   //to the console.
   catch ( CryptographicException^ e ) 
   {
      Console::WriteLine( e );
      return nullptr;
   }

}

int main()
{
   try
   {
      
      //Create a UnicodeEncoder to convert between byte array and string.
      UnicodeEncoding^ ByteConverter = gcnew UnicodeEncoding;
      
      //Create byte arrays to hold original, encrypted, and decrypted data.
      array<Byte>^dataToEncrypt = ByteConverter->GetBytes( "Data to Encrypt" );
      array<Byte>^encryptedData;
      array<Byte>^decryptedData;
      
      //Create a new instance of RSACryptoServiceProvider to generate
      //public and private key data.
      RSACryptoServiceProvider^ RSA = gcnew RSACryptoServiceProvider;
      
      //Pass the data to ENCRYPT, the public key information 
      //(using RSACryptoServiceProvider.ExportParameters(false),
      //and a boolean flag specifying no OAEP padding.
      encryptedData = RSAEncrypt( dataToEncrypt, RSA->ExportParameters( false ), false );
      
      //Pass the data to DECRYPT, the private key information 
      //(using RSACryptoServiceProvider.ExportParameters(true),
      //and a boolean flag specifying no OAEP padding.
      decryptedData = RSADecrypt( encryptedData, RSA->ExportParameters( true ), false );
      
      //Display the decrypted plaintext to the console. 
      Console::WriteLine( "Decrypted plaintext: {0}", ByteConverter->GetString( decryptedData ) );
      delete RSA;
   }
   catch ( ArgumentNullException^ ) 
   {
      
      //Catch this exception in case the encryption did
      //not succeed.
      Console::WriteLine( "Encryption failed." );
   }

}

using System;
using System.Security.Cryptography;
using System.Text;

class RSACSPSample
{

    static void Main()
    {
        try
        {
            //Create a UnicodeEncoder to convert between byte array and string.
            UnicodeEncoding ByteConverter = new UnicodeEncoding();

            //Create byte arrays to hold original, encrypted, and decrypted data.
            byte[] dataToEncrypt = ByteConverter.GetBytes("Data to Encrypt");
            byte[] encryptedData;
            byte[] decryptedData;

            //Create a new instance of RSACryptoServiceProvider to generate
            //public and private key data.
            using (RSACryptoServiceProvider RSA = new RSACryptoServiceProvider())
            {

                //Pass the data to ENCRYPT, the public key information 
                //(using RSACryptoServiceProvider.ExportParameters(false),
                //and a boolean flag specifying no OAEP padding.
                encryptedData = RSAEncrypt(dataToEncrypt, RSA.ExportParameters(false), false);

                //Pass the data to DECRYPT, the private key information 
                //(using RSACryptoServiceProvider.ExportParameters(true),
                //and a boolean flag specifying no OAEP padding.
                decryptedData = RSADecrypt(encryptedData, RSA.ExportParameters(true), false);

                //Display the decrypted plaintext to the console. 
                Console.WriteLine("Decrypted plaintext: {0}", ByteConverter.GetString(decryptedData));
            }
        }
        catch (ArgumentNullException)
        {
            //Catch this exception in case the encryption did
            //not succeed.
            Console.WriteLine("Encryption failed.");

        }
    }

    public static byte[] RSAEncrypt(byte[] DataToEncrypt, RSAParameters RSAKeyInfo, bool DoOAEPPadding)
    {
        try
        {
            byte[] encryptedData;
            //Create a new instance of RSACryptoServiceProvider.
            using (RSACryptoServiceProvider RSA = new RSACryptoServiceProvider())
            {

                //Import the RSA Key information. This only needs
                //toinclude the public key information.
                RSA.ImportParameters(RSAKeyInfo);

                //Encrypt the passed byte array and specify OAEP padding.  
                //OAEP padding is only available on Microsoft Windows XP or
                //later.  
                encryptedData = RSA.Encrypt(DataToEncrypt, DoOAEPPadding);
            }
            return encryptedData;
        }
        //Catch and display a CryptographicException  
        //to the console.
        catch (CryptographicException e)
        {
            Console.WriteLine(e.Message);

            return null;
        }

    }

    public static byte[] RSADecrypt(byte[] DataToDecrypt, RSAParameters RSAKeyInfo, bool DoOAEPPadding)
    {
        try
        {
            byte[] decryptedData;
            //Create a new instance of RSACryptoServiceProvider.
            using (RSACryptoServiceProvider RSA = new RSACryptoServiceProvider())
            {
                //Import the RSA Key information. This needs
                //to include the private key information.
                RSA.ImportParameters(RSAKeyInfo);

                //Decrypt the passed byte array and specify OAEP padding.  
                //OAEP padding is only available on Microsoft Windows XP or
                //later.  
                decryptedData = RSA.Decrypt(DataToDecrypt, DoOAEPPadding);
            }
            return decryptedData;
        }
        //Catch and display a CryptographicException  
        //to the console.
        catch (CryptographicException e)
        {
            Console.WriteLine(e.ToString());

            return null;
        }

    }
}
Imports System.Security.Cryptography
Imports System.Text

 _

Class RSACSPSample


    Shared Sub Main()
        Try
            'Create a UnicodeEncoder to convert between byte array and string.
            Dim ByteConverter As New UnicodeEncoding()

            'Create byte arrays to hold original, encrypted, and decrypted data.
            Dim dataToEncrypt As Byte() = ByteConverter.GetBytes("Data to Encrypt")
            Dim encryptedData() As Byte
            Dim decryptedData() As Byte

            'Create a new instance of RSACryptoServiceProvider to generate
            'public and private key data.
            Using RSA As New RSACryptoServiceProvider

                'Pass the data to ENCRYPT, the public key information 
                '(using RSACryptoServiceProvider.ExportParameters(false),
                'and a boolean flag specifying no OAEP padding.
                encryptedData = RSAEncrypt(dataToEncrypt, RSA.ExportParameters(False), False)

                'Pass the data to DECRYPT, the private key information 
                '(using RSACryptoServiceProvider.ExportParameters(true),
                'and a boolean flag specifying no OAEP padding.
                decryptedData = RSADecrypt(encryptedData, RSA.ExportParameters(True), False)

                'Display the decrypted plaintext to the console. 
                Console.WriteLine("Decrypted plaintext: {0}", ByteConverter.GetString(decryptedData))
            End Using
        Catch e As ArgumentNullException
            'Catch this exception in case the encryption did
            'not succeed.
            Console.WriteLine("Encryption failed.")
        End Try
    End Sub


    Public Shared Function RSAEncrypt(ByVal DataToEncrypt() As Byte, ByVal RSAKeyInfo As RSAParameters, ByVal DoOAEPPadding As Boolean) As Byte()
        Try
            Dim encryptedData() As Byte
            'Create a new instance of RSACryptoServiceProvider.
            Using RSA As New RSACryptoServiceProvider

                'Import the RSA Key information. This only needs
                'toinclude the public key information.
                RSA.ImportParameters(RSAKeyInfo)

                'Encrypt the passed byte array and specify OAEP padding.  
                'OAEP padding is only available on Microsoft Windows XP or
                'later.  
                encryptedData = RSA.Encrypt(DataToEncrypt, DoOAEPPadding)
            End Using
            Return encryptedData
            'Catch and display a CryptographicException  
            'to the console.
        Catch e As CryptographicException
            Console.WriteLine(e.Message)

            Return Nothing
        End Try
    End Function


    Public Shared Function RSADecrypt(ByVal DataToDecrypt() As Byte, ByVal RSAKeyInfo As RSAParameters, ByVal DoOAEPPadding As Boolean) As Byte()
        Try
            Dim decryptedData() As Byte
            'Create a new instance of RSACryptoServiceProvider.
            Using RSA As New RSACryptoServiceProvider
                'Import the RSA Key information. This needs
                'to include the private key information.
                RSA.ImportParameters(RSAKeyInfo)

                'Decrypt the passed byte array and specify OAEP padding.  
                'OAEP padding is only available on Microsoft Windows XP or
                'later.  
                decryptedData = RSA.Decrypt(DataToDecrypt, DoOAEPPadding)
                'Catch and display a CryptographicException  
                'to the console.
            End Using
            Return decryptedData
        Catch e As CryptographicException
            Console.WriteLine(e.ToString())

            Return Nothing
        End Try
    End Function
End Class

RSACryptoServiceProvider En el ejemplo de código siguiente se exporta la información de clave creada RSAParameters con en un objeto.The following code example exports the key information created using the RSACryptoServiceProvider into an RSAParameters object.

try
{
   //Create a new RSACryptoServiceProvider Object*.
   RSACryptoServiceProvider^ RSA = gcnew RSACryptoServiceProvider;
   
   //Export the key information to an RSAParameters object.
   //Pass false to export the public key information or pass
   //true to export public and private key information.
   RSAParameters RSAParams = RSA->ExportParameters( false );
}
catch ( CryptographicException^ e ) 
{
   //Catch this exception in case the encryption did
   //not succeed.
   Console::WriteLine( e->Message );
}
try
{
    //Create a new RSACryptoServiceProvider object.
    using (RSACryptoServiceProvider RSA = new RSACryptoServiceProvider())
    {


        //Export the key information to an RSAParameters object.
        //Pass false to export the public key information or pass
        //true to export public and private key information.
        RSAParameters RSAParams = RSA.ExportParameters(false);
    }


}
catch (CryptographicException e)
{
    //Catch this exception in case the encryption did
    //not succeed.
    Console.WriteLine(e.Message);

}
Try

    'Create a new RSACryptoServiceProvider object. 
    Dim RSA As New RSACryptoServiceProvider()

    'Export the key information to an RSAParameters object.
    'Pass false to export the public key information or pass
    'true to export public and private key information.
    Dim RSAParams As RSAParameters = RSA.ExportParameters(False)


Catch e As CryptographicException
    'Catch this exception in case the encryption did
    'not succeed.
    Console.WriteLine(e.Message)
End Try

Comentarios

Esta es la implementación predeterminada de RSA.This is the default implementation of RSA.

RSACryptoServiceProvider Admite tamaños de clave de 384 bits a 16384 bits en incrementos de 8 bits si tiene instalado Microsoft Enhanced Cryptographic Provider.The RSACryptoServiceProvider supports key sizes from 384 bits to 16384 bits in increments of 8 bits if you have the Microsoft Enhanced Cryptographic Provider installed. Admite tamaños de clave de 384 bits a 512 bits en incrementos de 8 bits si tiene Microsoft base Cryptographic Provider instalado.It supports key sizes from 384 bits to 512 bits in increments of 8 bits if you have the Microsoft Base Cryptographic Provider installed.

Los tamaños de clave válidos dependen del proveedor de servicios criptográficos (CSP) que usa la RSACryptoServiceProvider instancia de.Valid key sizes are dependent on the cryptographic service provider (CSP) that is used by the RSACryptoServiceProvider instance. Los CSP de Windows habilitan tamaños de claves de 384 a 16384 bits para Windows 8.1Windows 8.1versiones de Windows anteriores a y tamaños de clave de Windows 8.1Windows 8.1512 a 16384 bits para.Windows CSPs enable keys sizes of 384 to 16384 bits for Windows versions prior to Windows 8.1Windows 8.1, and key sizes of 512 to 16384 bits for Windows 8.1Windows 8.1. Para obtener más información, vea función CryptGenKey en la documentación de Windows.For more information, see CryptGenKey function in the Windows documentation.

Interoperación con la API criptográfica de Microsoft (CAPI)Interoperation with the Microsoft Cryptographic API (CAPI)

A diferencia de la implementación de RSA en CAPI no administrada RSACryptoServiceProvider , la clase invierte el orden de una matriz de bytes cifrada después del cifrado y antes del descifrado.Unlike the RSA implementation in unmanaged CAPI, the RSACryptoServiceProvider class reverses the order of an encrypted array of bytes after encryption and before decryption. De forma predeterminada, la función CAPI RSACryptoServiceProvider CryptDecrypt no puede descifrar los datos cifrados por la clase y los datos cifrados por el método CAPI CryptEncrypt no se pueden RSACryptoServiceProvider descifrar mediante la clase.By default, data encrypted by the RSACryptoServiceProvider class cannot be decrypted by the CAPI CryptDecrypt function and data encrypted by the CAPI CryptEncrypt method cannot be decrypted by the RSACryptoServiceProvider class.

Si no compensa el orden inverso al interoperar entre las API, la RSACryptoServiceProvider clase produce una CryptographicExceptionexcepción.If you do not compensate for the reverse ordering when interoperating between APIs, the RSACryptoServiceProvider class throws a CryptographicException.

Para interoperar con CAPI, debe invertir manualmente el orden de los bytes cifrados antes de que los datos cifrados interoperen con otra API.To interoperate with CAPI, you must manually reverse the order of encrypted bytes before the encrypted data interoperates with another API. Puede invertir fácilmente el orden de una matriz de bytes administrada llamando Array.Reverse al método.You can easily reverse the order of a managed byte array by calling the Array.Reverse method.

Constructores

RSACryptoServiceProvider()

Inicializa una nueva instancia de la clase RSACryptoServiceProvider utilizando la clave predeterminada.Initializes a new instance of the RSACryptoServiceProvider class using the default key.

RSACryptoServiceProvider(CspParameters)

Inicializa una nueva instancia de la clase RSACryptoServiceProvider con los parámetros especificados.Initializes a new instance of the RSACryptoServiceProvider class with the specified parameters.

RSACryptoServiceProvider(Int32)

Inicializa una nueva instancia de la clase RSACryptoServiceProvider con el tamaño de clave especificado.Initializes a new instance of the RSACryptoServiceProvider class with the specified key size.

RSACryptoServiceProvider(Int32, CspParameters)

Inicializa una nueva instancia de la clase RSACryptoServiceProvider con el tamaño de clave y los parámetros especificados.Initializes a new instance of the RSACryptoServiceProvider class with the specified key size and parameters.

Campos

KeySizeValue

Representa el tamaño, en bits, del módulo de claves que usa el algoritmo asimétrico.Represents the size, in bits, of the key modulus used by the asymmetric algorithm.

(Heredado de AsymmetricAlgorithm)
LegalKeySizesValue

Especifica los tamaños de clave admitidos por el algoritmo asimétrico.Specifies the key sizes that are supported by the asymmetric algorithm.

(Heredado de AsymmetricAlgorithm)

Propiedades

CspKeyContainerInfo

Obtiene un objeto CspKeyContainerInfo que describe la información adicional sobre un par de claves criptográficas.Gets a CspKeyContainerInfo object that describes additional information about a cryptographic key pair.

KeyExchangeAlgorithm

Obtiene el nombre del algoritmo de intercambio de claves disponible con esta implementación de RSA.Gets the name of the key exchange algorithm available with this implementation of RSA.

KeySize

Obtiene el tamaño de la clave actual.Gets the size of the current key.

LegalKeySizes
PersistKeyInCsp

Obtiene o establece un valor que indica si la clave debe conservarse en el proveedor de servicios criptográficos (CSP).Gets or sets a value indicating whether the key should be persisted in the cryptographic service provider (CSP).

PublicOnly

Obtiene un valor que indica si el objeto RSACryptoServiceProvider contiene solo una clave pública.Gets a value that indicates whether the RSACryptoServiceProvider object contains only a public key.

SignatureAlgorithm

Obtiene el nombre del algoritmo de firma disponible con esta implementación de RSA.Gets the name of the signature algorithm available with this implementation of RSA.

UseMachineKeyStore

Obtiene o establece un valor que indica si la clave debe conservarse en el almacén de claves del equipo en lugar del almacén de perfiles de usuario.Gets or sets a value indicating whether the key should be persisted in the computer's key store instead of the user profile store.

Métodos

Clear()

Libera todos los recursos que utiliza la clase AsymmetricAlgorithm.Releases all resources used by the AsymmetricAlgorithm class.

(Heredado de AsymmetricAlgorithm)
Decrypt(Byte[], Boolean)

Descifra los datos con el algoritmo RSA.Decrypts data with the RSA algorithm.

Decrypt(Byte[], RSAEncryptionPadding)

Descifra los datos que se cifraron anteriormente con el algoritmo RSA utilizando el relleno especificado.Decrypts data that was previously encrypted with the RSA algorithm by using the specified padding.

DecryptValue(Byte[])

Este método no se puede usar en la versión actual.This method is not supported in the current version.

Dispose()

Libera todos los recursos usados por la instancia actual de la clase AsymmetricAlgorithm.Releases all resources used by the current instance of the AsymmetricAlgorithm class.

(Heredado de AsymmetricAlgorithm)
Dispose(Boolean)

Libera los recursos no administrados utilizados por la clase AsymmetricAlgorithm y, de forma opcional, libera los recursos administrados.Releases the unmanaged resources used by the AsymmetricAlgorithm class and optionally releases the managed resources.

(Heredado de AsymmetricAlgorithm)
Encrypt(Byte[], Boolean)

Cifra los datos con el algoritmo RSA.Encrypts data with the RSA algorithm.

Encrypt(Byte[], RSAEncryptionPadding)

Cifra los datos con el algoritmo RSA utilizando el relleno especificado.Encrypts data with the RSA algorithm using the specified padding.

EncryptValue(Byte[])

Este método no se puede usar en la versión actual.This method is not supported in the current version.

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
ExportCspBlob(Boolean)

Exporta un objeto binario que contiene la información de clave asociada a un objeto RSACryptoServiceProvider.Exports a blob containing the key information associated with an RSACryptoServiceProvider object.

ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters)

Exporta la clave actual en el formato EncryptedPrivateKeyInfo de PKCS#8 con una contraseña basada en bytes.Exports the current key in the PKCS#8 EncryptedPrivateKeyInfo format with a byte-based password.

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

Exporta la clave actual en el formato EncryptedPrivateKeyInfo de PKCS#8 con una contraseña basada en caracteres.Exports the current key in the PKCS#8 EncryptedPrivateKeyInfo format with a char-based password.

(Heredado de AsymmetricAlgorithm)
ExportParameters(Boolean)

Exporta RSAParameters.Exports the RSAParameters.

ExportPkcs8PrivateKey()

Exporta la clave actual en el formato PrivateKeyInfo de PKCS#8.Exports the current key in the PKCS#8 PrivateKeyInfo format.

(Heredado de AsymmetricAlgorithm)
ExportRSAPrivateKey()

Exporta la clave actual en el formato RSAPrivateKey de PKCS#1.Exports the current key in the PKCS#1 RSAPrivateKey format.

(Heredado de RSA)
ExportRSAPublicKey()

Exporta la parte de la clave pública de la clave actual en el formato RSAPublicKey de PKCS#1.Exports the public-key portion of the current key in the PKCS#1 RSAPublicKey format.

(Heredado de RSA)
ExportSubjectPublicKeyInfo()

Exporta la parte de la clave pública de la clave actual en el formato SubjectPublicKeyInfo de X.509.Exports the public-key portion of the current key in the X.509 SubjectPublicKeyInfo format.

(Heredado de AsymmetricAlgorithm)
Finalize()
FromXmlString(String)

Inicializa un objeto RSA de la información de clave de una cadena XML.Initializes an RSA object from the key information from an XML string.

(Heredado de RSA)
GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
HashData(Byte[], Int32, Int32, HashAlgorithmName)

Cuando se reemplaza en una clase derivada, calcula el valor hash de una parte especificada de una matriz de bytes usando un algoritmo 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.

(Heredado de RSA)
HashData(Stream, HashAlgorithmName)

Cuando se reemplaza en una clase derivada, calcula el valor hash de una secuencia binaria especificada usando un algoritmo hash especificado.When overridden in a derived class, computes the hash value of a specified binary stream by using a specified hashing algorithm.

(Heredado de RSA)
ImportCspBlob(Byte[])

Importa un objeto binario que representa la información de clave RSA.Imports a blob that represents RSA key information.

ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32)

Importa el par de claves pública/privada desde una estructura EncryptedPrivateKeyInfo de PKCS#8 después de descifrar con una contraseña basada en bytes, reemplazando las claves de este 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.

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

Importa el par de claves pública/privada desde una estructura EncryptedPrivateKeyInfo de PKCS#8 después de descifrar con una contraseña basada en caracteres, reemplazando las claves de este 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.

(Heredado de RSA)
ImportParameters(RSAParameters)

Importa el objeto RSAParameters especificado.Imports the specified RSAParameters.

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

Importa el par de claves pública/privada desde una estructura PrivateKeyInfo de PKCS#8 después del descifrado, reemplazando las claves de este objeto.Imports the public/private keypair from a PKCS#8 PrivateKeyInfo structure after decryption, replacing the keys for this object.

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

Importa el par de claves pública/privada desde una estructura RSAPrivateKey de PKCS#1 después del descifrado, reemplazando las claves de este objeto.Imports the public/private keypair from a PKCS#1 RSAPrivateKey structure after decryption, replacing the keys for this object.

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

Importa la clave pública desde una estructura RSAPublicKey de PKCS#1 después del descifrado, reemplazando las claves de este objeto.Imports the public key from a PKCS#1 RSAPublicKey structure after decryption, replacing the keys for this object.

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

Importa la clave pública desde una estructura SubjectPublicKeyInfo de X.509 después del descifrado, reemplazando las claves de este objeto.Imports the public key from an X.509 SubjectPublicKeyInfo structure after decryption, replacing the keys for this object.

(Heredado de RSA)
MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

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

Calcula el valor hash de la matriz de bytes especificada usando el algoritmo hash y el modo de relleno especificados y firma el valor 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.

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

Calcula el valor hash de una parte de la matriz de bytes especificada usando el algoritmo hash y el modo de relleno especificados y firma el valor 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.

(Heredado de RSA)
SignData(Byte[], Int32, Int32, Object)

Calcula el valor hash de un subconjunto de la matriz de bytes especificada mediante el algoritmo hash establecido y firma el valor hash resultante.Computes the hash value of a subset of the specified byte array using the specified hash algorithm, and signs the resulting hash value.

SignData(Byte[], Object)

Calcula el valor hash de la matriz de bytes especificada mediante el algoritmo hash proporcionado y firma el valor hash resultante.Computes the hash value of the specified byte array using the specified hash algorithm, and signs the resulting hash value.

SignData(Stream, HashAlgorithmName, RSASignaturePadding)

Calcula el valor hash de la secuencia especificada usando el algoritmo hash y el modo de relleno especificados y firma el valor hash resultante.Computes the hash value of the specified stream using the specified hash algorithm and padding mode, and signs the resulting hash value.

(Heredado de RSA)
SignData(Stream, Object)

Calcula el valor hash del flujo de entrada especificado mediante el algoritmo hash proporcionado y firma el valor hash resultante.Computes the hash value of the specified input stream using the specified hash algorithm, and signs the resulting hash value.

SignHash(Byte[], HashAlgorithmName, RSASignaturePadding)

Calcula la firma del valor hash especificado cifrándola con la clave privada que utiliza el relleno especificado.Computes the signature for the specified hash value by encrypting it with the private key using the specified padding.

SignHash(Byte[], String)

Calcula la firma del valor hash especificado cifrándolo con la clave privada.Computes the signature for the specified hash value by encrypting it with the private key.

ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Heredado de Object)
ToXmlString(Boolean)

Crea y devuelve una cadena XML que contiene la clave del objeto RSA actual.Creates and returns an XML string containing the key of the current RSA object.

(Heredado de RSA)
TryDecrypt(ReadOnlySpan<Byte>, Span<Byte>, RSAEncryptionPadding, Int32) (Heredado de RSA)
TryEncrypt(ReadOnlySpan<Byte>, Span<Byte>, RSAEncryptionPadding, Int32) (Heredado de RSA)
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32)

Intenta exportar la clave actual en el formato EncryptedPrivateKeyInfo de PKCS#8 a un búfer proporcionado, utilizando una contraseña basada en bytes.Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a byte-based password.

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

Intenta exportar la clave actual en el formato EncryptedPrivateKeyInfo de PKCS#8 a un búfer proporcionado, utilizando una contraseña basada en caracteres.Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a char-based password.

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

Intenta exportar la clave actual en el formato PrivateKeyInfo de PKCS#8 a un búfer proporcionado.Attempts to export the current key in the PKCS#8 PrivateKeyInfo format into a provided buffer.

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

Intenta exportar la clave actual en el formato RSAPrivateKey de PKCS#1 a un búfer proporcionado.Attempts to export the current key in the PKCS#1 RSAPrivateKey format into a provided buffer.

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

Intenta exportar la clave actual en el formato RSAPublicKey de PKCS#1 a un búfer proporcionado.Attempts to export the current key in the PKCS#1 RSAPublicKey format into a provided buffer.

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

Intenta exportar la clave actual en el formato SubjectPublicKeyInfo de X.509 a un búfer proporcionado.Attempts to export the current key in the X.509 SubjectPublicKeyInfo format into a provided buffer.

(Heredado de RSA)
TryHashData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32) (Heredado de RSA)
TrySignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, RSASignaturePadding, Int32) (Heredado de RSA)
TrySignHash(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, RSASignaturePadding, Int32) (Heredado de RSA)
VerifyData(Byte[], Byte[], HashAlgorithmName, RSASignaturePadding)

Comprueba si una firma digital es válida calculando el valor hash de los datos especificados, para lo que usa el algoritmo hash y el relleno especificados y lo compara con la firma proporcionada.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.

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

Comprueba si una firma digital es válida calculando el valor hash de los datos de una parte de una matriz de bytes, para lo que usa el algoritmo hash y el relleno especificados y lo compara con la firma proporcionada.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.

(Heredado de RSA)
VerifyData(Byte[], Object, Byte[])

Comprueba que una firma digital es válida determinando el valor hash en ella mediante la clave pública proporcionada y comparándola con el valor hash de los datos proporcionados.Verifies that a digital signature is valid by determining the hash value in the signature using the provided public key and comparing it to the hash value of the provided data.

VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName, RSASignaturePadding) (Heredado de RSA)
VerifyData(Stream, Byte[], HashAlgorithmName, RSASignaturePadding)

Comprueba si una firma digital es válida calculando el valor hash de la secuencia especificada, para lo que usa el algoritmo hash y el relleno especificados y lo compara con la firma proporcionada.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.

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

Comprueba que una firma digital es válida determinando el valor hash de la firma con el algoritmo hash y el relleno especificados, y comparándolo con el valor hash proporcionado.Verifies that a digital signature is valid by determining the hash value in the signature using the specified hashing algorithm and padding, and comparing it to the provided hash value.

VerifyHash(Byte[], String, Byte[])

Comprueba que una firma digital es válida determinando el valor hash en ella mediante la clave pública proporcionada y comparándola con el valor hash proporcionado.Verifies that a digital signature is valid by determining the hash value in the signature using the provided public key and comparing it to the provided hash value.

VerifyHash(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName, RSASignaturePadding) (Heredado de RSA)

Implementaciones de interfaz explícitas

IDisposable.Dispose()

Para una descripción de este miembro, vea Dispose().For a description of this member, see Dispose().

(Heredado de AsymmetricAlgorithm)

Se aplica a

Consulte también: