RSA Класс

Определение

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

public ref class RSA abstract : System::Security::Cryptography::AsymmetricAlgorithm
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public abstract class RSA : System.Security.Cryptography.AsymmetricAlgorithm
public abstract class RSA : System.Security.Cryptography.AsymmetricAlgorithm
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class RSA : System.Security.Cryptography.AsymmetricAlgorithm
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
type RSA = class
    inherit AsymmetricAlgorithm
type RSA = class
    inherit AsymmetricAlgorithm
[<System.Runtime.InteropServices.ComVisible(true)>]
type RSA = class
    inherit AsymmetricAlgorithm
Public MustInherit Class RSA
Inherits AsymmetricAlgorithm
Наследование
Производный
Атрибуты

Комментарии

Разработчикам рекомендуется программировать базовый RSA класс, а не какой-либо конкретный производный класс. Производные классы предназначены для взаимодействия с базовыми системными криптографическими библиотеками.

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

RSA()

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

Поля

KeySizeValue

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

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

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

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

Свойства

KeyExchangeAlgorithm

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

KeyExchangeAlgorithm

При переопределении в производном классе возвращает имя алгоритма обмена ключами. В противном случае создается исключение NotImplementedException.

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

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

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

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

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

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

SignatureAlgorithm

При реализации в производном классе возвращает имя алгоритма подписи. В противном случае всегда создается исключение NotImplementedException.

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

Методы

Clear()

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

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

Создает экземпляр реализации алгоритма RSA по умолчанию.

Create(Int32)

Создает новый временный RSA-ключ с заданным размером ключа.

Create(RSAParameters)

Создает новый временный RSA-ключ с заданными параметрами RSA-ключа.

Create(String)
Устаревшие..

Создает экземпляр заданной реализации класса RSA.

Decrypt(Byte[], RSAEncryptionPadding)

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

Decrypt(ReadOnlySpan<Byte>, RSAEncryptionPadding)

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

Decrypt(ReadOnlySpan<Byte>, Span<Byte>, RSAEncryptionPadding)

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

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

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

Dispose()

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

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

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

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

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

Encrypt(ReadOnlySpan<Byte>, RSAEncryptionPadding)

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

Encrypt(ReadOnlySpan<Byte>, Span<Byte>, RSAEncryptionPadding)

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

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

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

Equals(Object)

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

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

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

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

Если переопределено в производном классе, экспортирует объект RSAParameters.

ExportPkcs8PrivateKey()

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

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

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

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

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

ExportRSAPrivateKeyPem()

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

ExportRSAPublicKey()

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

ExportRSAPublicKeyPem()

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

ExportSubjectPublicKeyInfo()

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

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

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

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

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

FromXmlString(String)

Если переопределено в производном классе, восстанавливает объект AsymmetricAlgorithm из XML-строки. В противном случае создается исключение NotImplementedException.

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

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

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

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

GetType()

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

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

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

HashData(Stream, HashAlgorithmName)

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

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

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

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

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

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

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

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

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

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

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

ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Byte>)

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

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

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

ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Char>)

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

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

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

ImportFromPem(ReadOnlySpan<Char>)

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

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

Если переопределено в производном классе, импортирует заданный объект RSAParameters.

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

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

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

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

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

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

ImportRSAPublicKey(ReadOnlySpan<Byte>, Int32)

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

ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

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

ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

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

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

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

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

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

SignData(Byte[], Int32, Int32, HashAlgorithmName, RSASignaturePadding)

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

SignData(ReadOnlySpan<Byte>, HashAlgorithmName, RSASignaturePadding)

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

SignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, RSASignaturePadding)

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

SignData(Stream, HashAlgorithmName, RSASignaturePadding)

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

SignHash(Byte[], HashAlgorithmName, RSASignaturePadding)

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

SignHash(ReadOnlySpan<Byte>, HashAlgorithmName, RSASignaturePadding)

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

SignHash(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, RSASignaturePadding)

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

ToString()

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

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

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

ToXmlString(Boolean)

Если переопределено в производном классе, создает и возвращает представление текущего объекта AsymmetricAlgorithm в виде XML-строки. В противном случае создается исключение NotImplementedException.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

TryExportRSAPrivateKeyPem(Span<Char>, Int32)

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

TryExportRSAPublicKey(Span<Byte>, Int32)

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

TryExportRSAPublicKeyPem(Span<Char>, Int32)

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

TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

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

TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

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

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

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

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

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

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

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

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

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

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

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

VerifyData(Byte[], Int32, Int32, Byte[], HashAlgorithmName, RSASignaturePadding)

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

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

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

VerifyData(Stream, Byte[], HashAlgorithmName, RSASignaturePadding)

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

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

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

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

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

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

IDisposable.Dispose()

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

Описание этого члена см. в разделе Dispose().

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

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

См. также раздел