RSACng Класс

Определение

Предоставляет реализацию алгоритма SHA на платформе криптографии следующего поколения (CNG).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
Наследование

Комментарии

RSACngКласс является производным от RSA класса.The RSACng class is derived from the RSA class. Поэтому он не является заменой для существующих применений RSACryptoServiceProvider .Therefore, it is not a drop-in replacement for existing uses of RSACryptoServiceProvider.

RSACng использует модель программирования, похожую на класс, ECDsaCng а не на RSACryptoServiceProvider класс.RSACng uses a programming model that is similar to the ECDsaCng class rather than the RSACryptoServiceProvider class. Например:For example:

  • Ключ, используемый, RSACng управляется отдельным CngKey объектом.The key used by RSACng is managed by a separate CngKey object. Напротив, RSACryptoServiceProvider имеет ключ, непосредственно связанный с операциями самого типа.In contrast, RSACryptoServiceProvider has a key that is directly tied to the operations of the type itself.

  • RSACng выполняет такие операции, как подпись и проверка подписей с помощью свойств RSACng объекта, так же как и ECDsaCng использует его свойства объекта для управления операциями подписывания и проверки.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.

Примечание

RSACngКласс является реализацией алгоритма RSA с помощью библиотек Windows CNG и недоступен в операционных системах, отличных от 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. Для приложений, которые не выполняют взаимодействие с Windows, рекомендуется использовать RSA.Create вместо ссылок на этот тип напрямую.For applications which aren't doing Windows interop, you're encouraged to use RSA.Create instead of referencing this type directly.

Конструкторы

RSACng()

Инициализирует новый экземпляр класса RSACng с парой случайных 2048-битных ключей.Initializes a new instance of the RSACng class with a random 2,048-bit key pair.

RSACng(CngKey)

Инициализирует новый экземпляр класса RSACng с заданным ключом.Initializes a new instance of the RSACng class with the specified key.

RSACng(Int32)

Инициализирует новый экземпляр класса RSACng с созданным случайным образом ключом указанного размера.Initializes a new instance of the RSACng class with a randomly generated key of the specified size.

Поля

KeySizeValue

Представляет размер модуля ключа (в битах), используемого алгоритмом асимметричного шифрования.Represents the size, in bits, of the key modulus used by the asymmetric algorithm.

(Унаследовано от AsymmetricAlgorithm)
LegalKeySizesValue

Задает размеры ключа, которые поддерживаются алгоритмом асимметричного шифрования.Specifies the key sizes that are supported by the asymmetric algorithm.

(Унаследовано от AsymmetricAlgorithm)

Свойства

Key

Получает ключ, который будет использоваться объектом RSACng для любой выполняемой им криптографической операции.Gets the key that will be used by the RSACng object for any cryptographic operation that it performs.

KeyExchangeAlgorithm

Получает имя алгоритма обмена ключами, доступного в этой реализации RSA.Gets the name of the key exchange algorithm available with this implementation of RSA.

KeyExchangeAlgorithm

Получает имя алгоритма обмена ключами, доступного в этой реализации RSA.Gets the name of the key exchange algorithm available with this implementation of RSA.

(Унаследовано от RSA)
KeySize

Получает или задает размер модуля ключа (в битах), используемого алгоритмом асимметричного шифрования.Gets or sets the size, in bits, of the key modulus used by the asymmetric algorithm.

(Унаследовано от AsymmetricAlgorithm)
LegalKeySizes

Возвращает размеры ключа (в битах), которые поддерживаются этой реализацией RSA.Gets the key sizes, in bits, that are supported by this implementation of RSA.

LegalKeySizes

Возвращает размеры ключа, которые поддерживаются алгоритмом асимметричного шифрования.Gets the key sizes that are supported by the asymmetric algorithm.

(Унаследовано от AsymmetricAlgorithm)
SignatureAlgorithm

Получает имя алгоритма подписи, доступного в этой реализации RSA.Gets the name of the signature algorithm available with this implementation of RSA.

SignatureAlgorithm

Получает имя алгоритма подписи, доступного в этой реализации RSA.Gets the name of the signature algorithm available with this implementation of RSA.

(Унаследовано от RSA)

Методы

Clear()

Освобождает все ресурсы, используемые классом AsymmetricAlgorithm.Releases all resources used by the AsymmetricAlgorithm class.

(Унаследовано от AsymmetricAlgorithm)
Decrypt(Byte[], RSAEncryptionPadding)

Расшифровывает входные данные с использованием указанного режима заполнения.Decrypts input data using the specified padding mode.

Decrypt(Byte[], RSAEncryptionPadding)

При переопределении в производном классе выполняет расшифровку входных данных с использованием указанного режима заполнения.When overridden in a derived class, decrypts the input data using the specified padding mode.

(Унаследовано от RSA)
DecryptValue(Byte[])

Расшифровывает входные данные с помощью закрытого ключа.Decrypts the input data using the private key.

DecryptValue(Byte[])

Если переопределено в производном классе, расшифровывает входные данные с помощью закрытого ключа.When overridden in a derived class, decrypts the input data using the private key.

(Унаследовано от RSA)
Dispose()

Освобождает все ресурсы, используемые текущим экземпляром класса AsymmetricAlgorithm.Releases all resources used by the current instance of the AsymmetricAlgorithm class.

(Унаследовано от AsymmetricAlgorithm)
Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые классом AsymmetricAlgorithm (при необходимости освобождает и управляемые ресурсы).Releases the unmanaged resources used by the AsymmetricAlgorithm class and optionally releases the managed resources.

(Унаследовано от AsymmetricAlgorithm)
Encrypt(Byte[], RSAEncryptionPadding)

Шифрует входные данные с использованием указанного заполнения.Encrypts the input data using the specified padding.

Encrypt(Byte[], RSAEncryptionPadding)

При переопределении в производном классе выполняет шифрование входных данных с использованием указанного режима заполнения.When overridden in a derived class, encrypts the input data using the specified padding mode.

(Унаследовано от RSA)
EncryptValue(Byte[])

Шифрует входные данные с помощью открытого ключа.Encrypts the input data using the public key.

EncryptValue(Byte[])

Если переопределено в производном классе, зашифровывает входные данные с помощью открытого ключа.When overridden in a derived class, encrypts the input data using the public key.

(Унаследовано от RSA)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters)

Экспортирует текущий ключ в формате PKCS #8 EncryptedPrivateKeyInfo с паролем, основанным на байтах.Exports the current key in the PKCS#8 EncryptedPrivateKeyInfo format with a byte-based password.

(Унаследовано от AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters)

Экспортирует текущий ключ в формате PKCS #8 EncryptedPrivateKeyInfo с паролем, основанным на символах.Exports the current key in the PKCS#8 EncryptedPrivateKeyInfo format with a char-based password.

(Унаследовано от AsymmetricAlgorithm)
ExportParameters(Boolean)

Экспортирует ключ, используемый объектом RSA, в объект RSAParameters.Exports the key used by the RSA object into a RSAParameters object.

ExportPkcs8PrivateKey()

Экспортирует текущий ключ в формате PKCS#8 PrivateKeyInfo.Exports the current key in the PKCS#8 PrivateKeyInfo format.

(Унаследовано от AsymmetricAlgorithm)
ExportRSAPrivateKey()

Экспортирует текущий ключ в формате PKCS#1 RSAPrivateKey.Exports the current key in the PKCS#1 RSAPrivateKey format.

(Унаследовано от RSA)
ExportRSAPublicKey()

Экспортирует открытую часть текущего ключа в формате PKCS#1 RSAPublicKey.Exports the public-key portion of the current key in the PKCS#1 RSAPublicKey format.

(Унаследовано от RSA)
ExportSubjectPublicKeyInfo()

Экспортирует открытую часть текущего ключа в формате X.509 SubjectPublicKeyInfo.Exports the public-key portion of the current key in the X.509 SubjectPublicKeyInfo format.

(Унаследовано от AsymmetricAlgorithm)
FromXmlString(String)

Инициализирует объект RSA, используя данные ключа из строки XML.Initializes an RSA object from the key information from an XML string.

(Унаследовано от RSA)
GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
HashData(Byte[], Int32, Int32, HashAlgorithmName)

При переопределении в производном классе вычисляет хэш-значение указанного фрагмента массива байтов с помощью заданного хэш-алгоритма.When overridden in a derived class, computes the hash value of a specified portion of a byte array by using a specified hashing algorithm.

(Унаследовано от RSA)
HashData(Stream, HashAlgorithmName)

При переопределении в производном классе вычисляет хэш-значение указанного двоичного потока с помощью заданного алгоритма хэширования.When overridden in a derived class, computes the hash value of a specified binary stream by using a specified hashing algorithm.

(Унаследовано от RSA)
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32)

Импортирует пару из открытого и закрытого ключей из структуры PKCS#8 EncryptedPrivateKeyInfo после расшифровки с помощью пароля на основе байтов, заменяя ключи для этого объекта.Imports the public/private keypair from a PKCS#8 EncryptedPrivateKeyInfo structure after decrypting with a byte-based password, replacing the keys for this object.

(Унаследовано от RSA)
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32)

Импортирует пару из открытого и закрытого ключей из структуры PKCS#8 EncryptedPrivateKeyInfo после расшифровки с помощью пароля на основе символов, заменяя ключи для этого объекта.Imports the public/private keypair from a PKCS#8 EncryptedPrivateKeyInfo structure after decrypting with a char-based password, replacing the keys for this object.

(Унаследовано от RSA)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Byte>)

Импортирует зашифрованный закрытый ключ в формате RFC 7468 в кодировке PEM, заменяя ключи для этого объекта.Imports an encrypted RFC 7468 PEM-encoded private key, replacing the keys for this object.

(Унаследовано от RSA)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Char>)

Импортирует зашифрованный закрытый ключ в формате RFC 7468 в кодировке PEM, заменяя ключи для этого объекта.Imports an encrypted RFC 7468 PEM-encoded private key, replacing the keys for this object.

(Унаследовано от RSA)
ImportFromPem(ReadOnlySpan<Char>)

Импортирует зашифрованный ключ в формате RFC 7468 в кодировке PEM, заменив ключи для этого объекта.Imports an RFC 7468 PEM-encoded key, replacing the keys for this object.

(Унаследовано от RSA)
ImportParameters(RSAParameters)

Заменяет существующий ключ, с которым работает текущий экземпляр, создавая новый объект CngKey для структуры параметров.Replaces the existing key that the current instance is working with by creating a new CngKey for the parameters structure.

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

Импортирует пару из открытого и закрытого ключей из структуры PKCS#8 PrivateKeyInfo после расшифровки, заменяя ключи для этого объекта.Imports the public/private keypair from a PKCS#8 PrivateKeyInfo structure after decryption, replacing the keys for this object.

(Унаследовано от RSA)
ImportRSAPrivateKey(ReadOnlySpan<Byte>, Int32)

Импортирует пару из открытого и закрытого ключей из структуры PKCS#1 RSAPrivateKey после расшифровки, заменяя ключи для этого объекта.Imports the public/private keypair from a PKCS#1 RSAPrivateKey structure after decryption, replacing the keys for this object.

(Унаследовано от RSA)
ImportRSAPublicKey(ReadOnlySpan<Byte>, Int32)

Импортирует открытый ключ из структуры PKCS#1 RSAPublicKey после расшифровки, заменяя ключи для этого объекта.Imports the public key from a PKCS#1 RSAPublicKey structure after decryption, replacing the keys for this object.

(Унаследовано от RSA)
ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

Импортирует открытый ключ из структуры X.509 SubjectPublicKeyInfo после расшифровки, заменяя ключи для этого объекта.Imports the public key from an X.509 SubjectPublicKeyInfo structure after decryption, replacing the keys for this object.

(Унаследовано от RSA)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
SignData(Byte[], HashAlgorithmName, RSASignaturePadding)

Вычисляет хэш-значение заданного массива байтов с помощью указанного алгоритма хэширования и режима заполнения, а затем подписывает полученное хэш-значение.Computes the hash value of the specified byte array using the specified hash algorithm and padding mode, and signs the resulting hash value.

(Унаследовано от RSA)
SignData(Byte[], Int32, Int32, HashAlgorithmName, RSASignaturePadding)

Вычисляет хэш-значение части заданного массива байтов с помощью указанного алгоритма хэширования и режима заполнения, а затем подписывает полученное хэш-значение.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.

(Унаследовано от RSA)
SignData(Stream, HashAlgorithmName, RSASignaturePadding)

Вычисляет хэш-значение заданного потока с помощью указанного алгоритма хэширования и режима заполнения, а затем подписывает полученное хэш-значение.Computes the hash value of the specified stream using the specified hash algorithm and padding mode, and signs the resulting hash value.

(Унаследовано от RSA)
SignHash(Byte[], HashAlgorithmName, RSASignaturePadding)

Подписывает данные, хэшированные с помощью указанного алгоритма хэширования и заполнения.Signs data that was hashed by using the specified hashing algorithm and padding mode.

SignHash(Byte[], HashAlgorithmName, RSASignaturePadding)

При переопределении в производном классе вычисляет подпись для указанного хэш-значения с использованием указанного заполнения.When overridden in a derived class, computes the signature for the specified hash value using the specified padding.

(Унаследовано от RSA)
ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)
ToXmlString(Boolean)

Создает и возвращает строку XML, содержащую ключ текущего объекта RSA.Creates and returns an XML string containing the key of the current RSA object.

(Унаследовано от RSA)
TryDecrypt(ReadOnlySpan<Byte>, Span<Byte>, RSAEncryptionPadding, Int32)

Пытается расшифровать входные данные с использованием указанного режима заполнения и записывает результат в заданный буфер.Attempts to decrypt the input data using the specified padding mode, writing the result into a provided buffer.

(Унаследовано от RSA)
TryEncrypt(ReadOnlySpan<Byte>, Span<Byte>, RSAEncryptionPadding, Int32)

Пытается зашифровать входные данные с использованием указанного режима заполнения и записать результат в заданный буфер.Attempts to encrypt the input data with a specified padding mode into a provided buffer.

(Унаследовано от RSA)
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32)

Пытается экспортировать текущий ключ в формате PKCS#8 EncryptedPrivateKeyInfo в предоставленный буфер с использованием пароля на основе байтов.Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a byte-based password.

(Унаследовано от RSA)
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32)

Пытается экспортировать текущий ключ в формате PKCS#8 EncryptedPrivateKeyInfo в предоставленный буфер с использованием пароля на основе символов.Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a char-based password.

(Унаследовано от RSA)
TryExportPkcs8PrivateKey(Span<Byte>, Int32)

Пытается экспортировать текущий ключ в формате PKCS#8 PrivateKeyInfo в предоставленный буфер.Attempts to export the current key in the PKCS#8 PrivateKeyInfo format into a provided buffer.

(Унаследовано от RSA)
TryExportRSAPrivateKey(Span<Byte>, Int32)

Пытается экспортировать текущий ключ в формате PKCS#1 RSAPrivateKey в предоставленный буфер.Attempts to export the current key in the PKCS#1 RSAPrivateKey format into a provided buffer.

(Унаследовано от RSA)
TryExportRSAPublicKey(Span<Byte>, Int32)

Пытается экспортировать текущий ключ в формате PKCS#1 RSAPublicKey в предоставленный буфер.Attempts to export the current key in the PKCS#1 RSAPublicKey format into a provided buffer.

(Унаследовано от RSA)
TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

Пытается экспортировать текущий ключ в формате X.509 SubjectPublicKeyInfo в предоставленный буфер.Attempts to export the current key in the X.509 SubjectPublicKeyInfo format into a provided buffer.

(Унаследовано от RSA)
TryHashData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32)

Пытается вычислить хэш предоставленных данных с помощью указанного алгоритма и записать результат в заданный буфер.Attempts to compute the hash of the provided data by using the specified algorithm, writing the results into a provided buffer.

(Унаследовано от RSA)
TrySignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, RSASignaturePadding, Int32)

Пытается хэшировать предоставленные данные с помощью указанного алгоритма и подписать хэш текущим ключом, а затем записать подпись в заданный буфер.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.

(Унаследовано от RSA)
TrySignHash(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, RSASignaturePadding, Int32)

Пытается подписать хэш текущим ключом и записать подпись в заданный буфер.Attempts to sign the hash with the current key, writing the signature into a provided buffer.

(Унаследовано от RSA)
VerifyData(Byte[], Byte[], HashAlgorithmName, RSASignaturePadding)

Проверяет допустимость цифровой подписи, вычисляя хэш-значение указанных данных с помощью указанного алгоритма хэширования и заполнения, а затем сравнивая его с предоставленной подписью.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.

(Унаследовано от RSA)
VerifyData(Byte[], Int32, Int32, Byte[], HashAlgorithmName, RSASignaturePadding)

Проверяет допустимость цифровой подписи, вычисляя хэш-значение данных во фрагменте массива байтов с помощью указанного алгоритма хэширования и заполнения и сравнивая его с предоставленной подписью.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.

(Унаследовано от RSA)
VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName, RSASignaturePadding)

Проверяет допустимость цифровой подписи, вычисляя хэш-значение указанных данных с помощью указанного алгоритма хэширования и заполнения, а затем сравнивая его с предоставленной подписью.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.

(Унаследовано от RSA)
VerifyData(Stream, Byte[], HashAlgorithmName, RSASignaturePadding)

Проверяет допустимость цифровой подписи, вычисляя хэш-значение указанного потока с помощью указанного алгоритма хэширования и заполнения, а затем сравнивая его с предоставленной подписью.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.

(Унаследовано от RSA)
VerifyHash(Byte[], Byte[], HashAlgorithmName, RSASignaturePadding)

Проверяет данные, подписанные и уже хэшированные с помощью указанного алгоритма и режима заполнения.Verifies data that was signed and already hashed with the specified algorithm and padding mode.

VerifyHash(Byte[], Byte[], HashAlgorithmName, RSASignaturePadding)

Проверяет допустимость цифровой подписи путем определения хэш-значения в этой подписи с помощью указанного хэш-алгоритма и заполнения, сравнивая его с предоставленным хэш-значением.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.

(Унаследовано от RSA)
VerifyHash(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName, RSASignaturePadding)

Проверяет допустимость цифровой подписи путем определения хэш-значения в этой подписи с помощью указанного хэш-алгоритма и заполнения, сравнивая его с предоставленным хэш-значением.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.

(Унаследовано от RSA)

Явные реализации интерфейса

IDisposable.Dispose()

Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода.

Описание этого члена см. в разделе Dispose().For a description of this member, see Dispose().

(Унаследовано от AsymmetricAlgorithm)

Применяется к