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