RSACng Класс

Определение

Предоставляет реализацию алгоритма RSA следующего поколения (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 и его свойства объекта для управления операциями подписи и проверки.

Note

Класс RSACng является реализацией алгоритма RSA с помощью библиотек CNG Windows и недоступен в операционных системах, отличных от 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()

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

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

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

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

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

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

Экспортирует часть открытого ключа текущего ключа в формате RSAPublicKey PKCS#1 в кодировке 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>)

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

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

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

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

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

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

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

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

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

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

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

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

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

(Унаследовано от 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 в предоставленный буфер.

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

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

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

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

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

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

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

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

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

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

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

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

(Унаследовано от 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)

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