RSACng Clase

Definición

Proporciona una implementación de CNG (Cryptography Next Generation) del 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
Herencia

Comentarios

La RSACng clase se deriva de la RSA clase.The RSACng class is derived from the RSA class. Por lo tanto, no se trata de un reemplazo para los usos existentes RSACryptoServiceProviderde.Therefore, it is not a drop-in replacement for existing uses of RSACryptoServiceProvider.

RSACngutiliza un modelo de programación similar a la ECDsaCng clase, en lugar de a la RSACryptoServiceProvider clase.RSACng uses a programming model that is similar to the ECDsaCng class rather than the RSACryptoServiceProvider class. Por ejemplo:For example:

  • La clave utilizada por RSACng se administra mediante un objeto CngKey independiente.The key used by RSACng is managed by a separate CngKey object. Por el contrario RSACryptoServiceProvider , tiene una clave que está directamente vinculada a las operaciones del propio tipo.In contrast, RSACryptoServiceProvider has a key that is directly tied to the operations of the type itself.

  • RSACngrealiza operaciones como la firma y comprobación de firmas mediante las propiedades del objeto, RSACng de la misma forma ECDsaCng que utiliza sus propiedades de objeto para controlar las operaciones de firma y comprobación.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.

Nota

La RSACng clase es una implementación del algoritmo RSA que usa las bibliotecas CNG de Windows y no está disponible en sistemas operativos que no sean 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. En el caso de las aplicaciones que no realizan la interoperabilidad RSA.Create de Windows, se recomienda usar en lugar de hacer referencia a este tipo directamente.For applications which aren't doing Windows interop, you're encouraged to use RSA.Create instead of referencing this type directly.

Constructores

RSACng()

Inicializa una nueva instancia de la clase RSACng con un par de claves aleatorio de 2048 bits.Initializes a new instance of the RSACng class with a random 2,048-bit key pair.

RSACng(CngKey)

Inicializa una nueva instancia de la clase RSACng con la clave especificada.Initializes a new instance of the RSACng class with the specified key.

RSACng(Int32)

Inicializa una nueva instancia de la clase RSACng con una clave generada aleatoriamente del tamaño especificado.Initializes a new instance of the RSACng class with a randomly generated key of the specified size.

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

Key

Obtiene la clave que usará el objeto RSACng para todas las operaciones criptográficas que realice.Gets the key that will be used by the RSACng object for any cryptographic operation that it performs.

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 o establece el tamaño, en bits, del módulo de claves que usa el algoritmo asimétrico.Gets or sets the size, in bits, of the key modulus used by the asymmetric algorithm.

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

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[], RSAEncryptionPadding)

Descifra los datos de entrada con el modo de relleno especificado.Decrypts input data using the specified padding mode.

DecryptValue(Byte[])

Descifra los datos de entrada con la clave privada.Decrypts the input data using the private key.

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[], RSAEncryptionPadding)

Cifra los datos de entrada con el relleno especificado.Encrypts the input data using the specified padding.

EncryptValue(Byte[])

Cifra los datos de entrada con la clave pública.Encrypts the input data using the public key.

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)
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 la clave que usa el objeto RSA en un objeto RSAParameters.Exports the key used by the RSA object into a RSAParameters object.

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)
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 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)
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)

Reemplaza la clave existente con la que funciona la instancia actual mediante la creación de un nuevo CngKey para la estructura de 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 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 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(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)
SignHash(Byte[], HashAlgorithmName, RSASignaturePadding)

Firma los datos a los que se aplicó un algoritmo hash mediante el algoritmo hash y el modo de relleno especificados.Signs data that was hashed by using the specified hashing algorithm and padding mode.

ToString()

Devuelve un valor de tipo string 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)

Intenta descifrar los datos especificados mediante la clave privada.Attempts to decrypt the specified data using the private key.

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

Intenta cifrar los datos especificados mediante la clave pública.Attempts to encrypt the specified data using the public key.

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)
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(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 los datos que se firmaron y a los que ya se aplicó un valor hash con el algoritmo y el modo de relleno especificados.Verifies data that was signed and already hashed with the specified algorithm and padding mode.

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

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