RSA Класс

Определение

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

public ref class RSA abstract : System::Security::Cryptography::AsymmetricAlgorithm
public abstract class RSA : System.Security.Cryptography.AsymmetricAlgorithm
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public abstract class RSA : System.Security.Cryptography.AsymmetricAlgorithm
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class RSA : System.Security.Cryptography.AsymmetricAlgorithm
type RSA = class
    inherit AsymmetricAlgorithm
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
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()

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

ExportRSAPrivateKeyPem()

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

ExportRSAPublicKey()

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

ExportRSAPublicKeyPem()

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

ExportSubjectPublicKeyInfo()

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

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

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

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

Инициализирует RSA объект из ключевых сведений из XML-строки.

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

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

ImportFromPem(ReadOnlySpan<Char>)

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

ImportParameters(RSAParameters)

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

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

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

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

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

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

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

ImportRSAPublicKey(ReadOnlySpan<Byte>, Int32)

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

ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

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

ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

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

(Унаследовано от 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 объекта.

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

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

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

TryExportRSAPrivateKeyPem(Span<Char>, Int32)

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

TryExportRSAPublicKey(Span<Byte>, Int32)

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

TryExportRSAPublicKeyPem(Span<Char>, Int32)

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

TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

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

TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

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

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

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

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

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

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