Бөлісу құралы:


RSACng Класс

Определение

Предоставляет реализацию алгоритма SHA на платформе криптографии следующего поколения (CNG).

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 от класса . Таким образом, он не является заменой для существующих применений RSACryptoServiceProvider.

RSACng использует модель программирования, аналогичную классу ECDsaCng , а не классу RSACryptoServiceProvider . Пример:

  • Ключ, используемый , RSACng управляется отдельным CngKey объектом . В отличие от этого, RSACryptoServiceProvider имеет ключ, который напрямую привязан к операциям самого типа.

  • RSACng выполняет такие операции, как подписывание и проверка подписей с помощью свойств RSACng объекта, так же как ECDsaCng использует свойства объекта для управления операциями подписывания и проверки.

Примечание

Класс RSACng является реализацией алгоритма RSA с использованием библиотек Windows CNG и недоступен в операционных системах, отличных от Windows. Для приложений, которые не выполняют взаимодействие с Windows, рекомендуется использовать RSA.Create вместо того, чтобы ссылаться на этот тип напрямую.

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

RSACng()

Инициализирует новый экземпляр класса RSACng с парой случайных 2048-битных ключей.

RSACng(CngKey)

Инициализирует новый экземпляр класса RSACng с заданным ключом.

RSACng(Int32)

Инициализирует новый экземпляр класса RSACng с созданным случайным образом ключом указанного размера.

Поля

KeySizeValue

Представляет размер модуля ключа (в битах), используемого алгоритмом асимметричного шифрования.

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

Задает размеры ключа, которые поддерживаются алгоритмом асимметричного шифрования.

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

Свойства

Key

Получает ключ, который будет использоваться объектом RSACng для любой выполняемой им криптографической операции.

KeyExchangeAlgorithm

Получает имя алгоритма обмена ключами, доступного в этой реализации RSA.

KeyExchangeAlgorithm

Получает имя алгоритма обмена ключами, доступного в этой реализации RSA.

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

Получает или задает размер модуля ключа (в битах), используемого алгоритмом асимметричного шифрования.

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

Возвращает размеры ключа (в битах), которые поддерживаются этой реализацией RSA.

LegalKeySizes

Возвращает размеры ключа, которые поддерживаются алгоритмом асимметричного шифрования.

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

Получает имя алгоритма подписи, доступного в этой реализации RSA.

SignatureAlgorithm

Получает имя алгоритма подписи, доступного в этой реализации RSA.

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

Методы

Clear()

Освобождает все ресурсы, используемые классом AsymmetricAlgorithm.

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

Расшифровывает входные данные с использованием указанного режима заполнения.

Decrypt(ReadOnlySpan<Byte>, RSAEncryptionPadding)

Расшифровывает входные данные с использованием указанного режима заполнения.

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

Расшифровывает входные данные с использованием указанного режима заполнения.

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

Расшифровывает входные данные с помощью закрытого ключа.

DecryptValue(Byte[])
Устаревшие..

Если переопределено в производном классе, расшифровывает входные данные с помощью закрытого ключа.

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

Освобождает все ресурсы, используемые текущим экземпляром класса AsymmetricAlgorithm.

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

Освобождает неуправляемые ресурсы, используемые классом AsymmetricAlgorithm (при необходимости освобождает и управляемые ресурсы).

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

Шифрует входные данные с использованием указанного заполнения.

Encrypt(ReadOnlySpan<Byte>, RSAEncryptionPadding)

Зашифровывает входные данные с использованием указанного режима заполнения.

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

Зашифровывает входные данные с использованием указанного режима заполнения.

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

Шифрует входные данные с помощью открытого ключа.

EncryptValue(Byte[])
Устаревшие..

Если переопределено в производном классе, зашифровывает входные данные с помощью открытого ключа.

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

Определяет, равен ли указанный объект текущему объекту.

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

Экспортирует текущий ключ в формате PKCS #8 EncryptedPrivateKeyInfo с паролем, основанным на байтах.

ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters)

Экспортирует текущий ключ в формате PKCS #8 EncryptedPrivateKeyInfo с паролем, основанным на байтах.

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

Экспортирует текущий ключ в формате PKCS #8 EncryptedPrivateKeyInfo с паролем, основанным на символах.

ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters)

Экспортирует текущий ключ в формате PKCS #8 EncryptedPrivateKeyInfo с паролем, основанным на символах.

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

Экспортирует текущий ключ в формате PKCS#8 EncryptedPrivateKeyInfo с паролем на основе байтов в кодировке PEM.

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

Экспортирует текущий ключ в формате PKCS#8 EncryptedPrivateKeyInfo с паролем на основе символов в кодировке PEM.

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

Экспортирует ключ, используемый объектом RSA, в объект RSAParameters.

ExportPkcs8PrivateKey()

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

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

Экспортирует текущий ключ в формате PKCS#8 PrivateKeyInfo в кодировке PEM.

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

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

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

Экспортирует текущий ключ в формате PKCS#1 RSAPrivateKey в кодировке PEM.

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

Экспортирует открытую часть текущего ключа в формате PKCS#1 RSAPublicKey.

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

Экспортирует часть открытого ключа текущего ключа в формате PKCS#1 RSAPublicKey в кодировке PEM.

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

Экспортирует открытую часть текущего ключа в формате X.509 SubjectPublicKeyInfo.

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

Экспортирует часть текущего ключа с открытым ключом в формате X.509 SubjectPublicKeyInfo в кодировке PEM.

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

Инициализирует объект RSA, используя данные ключа из строки XML.

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

Служит хэш-функцией по умолчанию.

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

Возвращает максимальное количество байтов, которые может создать операция RSA.

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

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

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

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

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

При переопределении в производном классе вычисляет хэш-значение указанного двоичного потока с помощью заданного алгоритма хэширования.

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

Импортирует пару из открытого и закрытого ключей из структуры PKCS#8 EncryptedPrivateKeyInfo после расшифровки с помощью пароля на основе байтов, заменяя ключи для этого объекта.

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

Импортирует пару из открытого и закрытого ключей из структуры PKCS#8 EncryptedPrivateKeyInfo после расшифровки с помощью пароля на основе байтов, заменяя ключи для этого объекта.

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

Импортирует пару из открытого и закрытого ключей из структуры PKCS#8 EncryptedPrivateKeyInfo после расшифровки с помощью пароля на основе символов, заменяя ключи для этого объекта.

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

Импортирует пару из открытого и закрытого ключей из структуры PKCS#8 EncryptedPrivateKeyInfo после расшифровки с помощью пароля на основе символов, заменяя ключи для этого объекта.

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

Импортирует зашифрованный закрытый ключ в формате RFC 7468 в кодировке PEM, заменяя ключи для этого объекта.

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

Импортирует зашифрованный закрытый ключ в формате RFC 7468 в кодировке PEM, заменяя ключи для этого объекта.

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

Импортирует зашифрованный ключ в формате RFC 7468 в кодировке PEM, заменив ключи для этого объекта.

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

Заменяет существующий ключ, с которым работает текущий экземпляр, создавая новый объект CngKey для структуры параметров.

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

Импортирует пару из открытого и закрытого ключей из структуры PKCS#8 PrivateKeyInfo после расшифровки, заменяя ключи для этого объекта.

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

Импортирует пару из открытого и закрытого ключей из структуры PKCS#8 PrivateKeyInfo после расшифровки, заменяя ключи для этого объекта.

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

Импортирует пару из открытого и закрытого ключей из структуры PKCS#1 RSAPrivateKey после расшифровки, заменяя ключи для этого объекта.

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

Импортирует открытый ключ из структуры PKCS#1 RSAPublicKey после расшифровки, заменяя ключи для этого объекта.

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

Импортирует открытый ключ из структуры X.509 SubjectPublicKeyInfo после расшифровки, заменяя ключи для этого объекта.

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

Создает неполную копию текущего объекта Object.

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

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

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

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

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

Вычисляет хэш-значение указанных данных и подписывает его.

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

Вычисляет хэш предоставленных данных с помощью указанного алгоритма и подписывает хэш текущим ключом, записывая сигнатуру в предоставленный буфер.

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

Вычисляет хэш-значение заданного потока с помощью указанного алгоритма хэширования и режима заполнения, а затем подписывает полученное хэш-значение.

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

Подписывает данные, хэшированные с помощью указанного алгоритма хэширования и заполнения.

SignHash(ReadOnlySpan<Byte>, HashAlgorithmName, RSASignaturePadding)

Вычисляет подпись для указанного хэш-значения с использованием заданного заполнения.

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

Подписывает хэш текущим ключом, записывая сигнатуру в предоставленный буфер.

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

Возвращает строку, представляющую текущий объект.

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

Создает и возвращает строку XML, содержащую ключ текущего объекта RSA.

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

Расшифровывает данные с помощью закрытого ключа.

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

Пытается расшифровать входные данные с использованием указанного режима заполнения и записывает результат в заданный буфер.

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

Шифрует данные с помощью открытого ключа.

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

Пытается зашифровать входные данные с использованием указанного режима заполнения и записать результат в заданный буфер.

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

Пытается экспортировать текущий ключ в формате PKCS#8 EncryptedPrivateKeyInfo в предоставленный буфер с использованием пароля на основе байтов.

TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32)

Пытается экспортировать текущий ключ в формате PKCS#8 EncryptedPrivateKeyInfo в предоставленный буфер с использованием пароля на основе байтов.

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

Пытается экспортировать текущий ключ в формате PKCS#8 EncryptedPrivateKeyInfo в предоставленный буфер с использованием пароля на основе символов.

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

Пытается экспортировать текущий ключ в формате PKCS#8 EncryptedPrivateKeyInfo в предоставленный буфер с использованием пароля на основе символов.

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

Пытается экспортировать текущий ключ в формате PKCS#8 EncryptedPrivateKeyInfo с паролем на основе байтов в кодировке PEM.

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

Экспортирует текущий ключ в формате PKCS#8 EncryptedPrivateKeyInfo с паролем на основе символов в кодировке PEM.

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

Пытается экспортировать текущий ключ в формате PKCS#8 PrivateKeyInfo в предоставленный буфер.

TryExportPkcs8PrivateKey(Span<Byte>, Int32)

Пытается экспортировать текущий ключ в формате PKCS#8 PrivateKeyInfo в предоставленный буфер.

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

Пытается экспортировать текущий ключ в формате PKCS#8 PrivateKeyInfo в формате PEM в предоставленный буфер.

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

Пытается экспортировать текущий ключ в формате PKCS#1 RSAPrivateKey в предоставленный буфер.

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

Пытается экспортировать текущий ключ в формате PKCS#1 RSAPrivateKey в кодировке PEM в предоставленный буфер.

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

Пытается экспортировать текущий ключ в формате PKCS#1 RSAPublicKey в предоставленный буфер.

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

Пытается экспортировать текущий ключ в формате PKCS#1 RSAPublicKey в кодировке PEM в предоставленный буфер.

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

Пытается экспортировать текущий ключ в формате X.509 SubjectPublicKeyInfo в предоставленный буфер.

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

Пытается экспортировать текущий ключ в формате X.509 SubjectPublicKeyInfo в формате PEM в предоставленный буфер.

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

Пытается вычислить хэш предоставленных данных с помощью указанного алгоритма и записать результат в заданный буфер.

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

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

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

Пытается подписать хэш текущим ключом и записать подпись в заданный буфер.

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

Пытается подписать хэш текущим ключом и записать подпись в заданный буфер.

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

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

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

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

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

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

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

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

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

Проверяет данные, подписанные и уже хэшированные с помощью указанного алгоритма и режима заполнения.

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

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

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

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

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

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