RSACryptoServiceProvider Класс

Определение

Выполняет асимметричное шифрование и расшифровку с помощью реализации алгоритма RSA, предоставляемого поставщиком служб шифрования (CSP). Этот класс не наследуется.

public ref class RSACryptoServiceProvider sealed : System::Security::Cryptography::RSA, System::Security::Cryptography::ICspAsymmetricAlgorithm
public ref class RSACryptoServiceProvider sealed : System::Security::Cryptography::RSA
public sealed class RSACryptoServiceProvider : System.Security.Cryptography.RSA, System.Security.Cryptography.ICspAsymmetricAlgorithm
public sealed class RSACryptoServiceProvider : System.Security.Cryptography.RSA
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class RSACryptoServiceProvider : System.Security.Cryptography.RSA, System.Security.Cryptography.ICspAsymmetricAlgorithm
type RSACryptoServiceProvider = class
    inherit RSA
    interface ICspAsymmetricAlgorithm
type RSACryptoServiceProvider = class
    inherit RSA
[<System.Runtime.InteropServices.ComVisible(true)>]
type RSACryptoServiceProvider = class
    inherit RSA
    interface ICspAsymmetricAlgorithm
Public NotInheritable Class RSACryptoServiceProvider
Inherits RSA
Implements ICspAsymmetricAlgorithm
Public NotInheritable Class RSACryptoServiceProvider
Inherits RSA
Наследование
RSACryptoServiceProvider
Атрибуты
Реализации

Примеры

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

using namespace System;
using namespace System::Security::Cryptography;
using namespace System::Text;
array<Byte>^ RSAEncrypt( array<Byte>^DataToEncrypt, RSAParameters RSAKeyInfo, bool DoOAEPPadding )
{
   try
   {
      
      //Create a new instance of RSACryptoServiceProvider.
      RSACryptoServiceProvider^ RSA = gcnew RSACryptoServiceProvider;
      
      //Import the RSA Key information. This only needs
      //toinclude the public key information.
      RSA->ImportParameters( RSAKeyInfo );
      
      //Encrypt the passed byte array and specify OAEP padding.  
      //OAEP padding is only available on Microsoft Windows XP or
      //later.  

      array<Byte>^encryptedData = RSA->Encrypt( DataToEncrypt, DoOAEPPadding );
      delete RSA;
      return encryptedData;
   }
   //Catch and display a CryptographicException  
   //to the console.
   catch ( CryptographicException^ e ) 
   {
      Console::WriteLine( e->Message );
      return nullptr;
   }

}

array<Byte>^ RSADecrypt( array<Byte>^DataToDecrypt, RSAParameters RSAKeyInfo, bool DoOAEPPadding )
{
   try
   {
      
      //Create a new instance of RSACryptoServiceProvider.
      RSACryptoServiceProvider^ RSA = gcnew RSACryptoServiceProvider;
      
      //Import the RSA Key information. This needs
      //to include the private key information.
      RSA->ImportParameters( RSAKeyInfo );
      
      //Decrypt the passed byte array and specify OAEP padding.  
      //OAEP padding is only available on Microsoft Windows XP or
      //later.  
      
      array<Byte>^decryptedData = RSA->Decrypt( DataToDecrypt, DoOAEPPadding );
      delete RSA;
      return decryptedData;
   }
   //Catch and display a CryptographicException  
   //to the console.
   catch ( CryptographicException^ e ) 
   {
      Console::WriteLine( e );
      return nullptr;
   }

}

int main()
{
   try
   {
      
      //Create a UnicodeEncoder to convert between byte array and string.
      UnicodeEncoding^ ByteConverter = gcnew UnicodeEncoding;
      
      //Create byte arrays to hold original, encrypted, and decrypted data.
      array<Byte>^dataToEncrypt = ByteConverter->GetBytes( "Data to Encrypt" );
      array<Byte>^encryptedData;
      array<Byte>^decryptedData;
      
      //Create a new instance of RSACryptoServiceProvider to generate
      //public and private key data.
      RSACryptoServiceProvider^ RSA = gcnew RSACryptoServiceProvider;
      
      //Pass the data to ENCRYPT, the public key information 
      //(using RSACryptoServiceProvider.ExportParameters(false),
      //and a boolean flag specifying no OAEP padding.
      encryptedData = RSAEncrypt( dataToEncrypt, RSA->ExportParameters( false ), false );
      
      //Pass the data to DECRYPT, the private key information 
      //(using RSACryptoServiceProvider.ExportParameters(true),
      //and a boolean flag specifying no OAEP padding.
      decryptedData = RSADecrypt( encryptedData, RSA->ExportParameters( true ), false );
      
      //Display the decrypted plaintext to the console. 
      Console::WriteLine( "Decrypted plaintext: {0}", ByteConverter->GetString( decryptedData ) );
      delete RSA;
   }
   catch ( ArgumentNullException^ ) 
   {
      
      //Catch this exception in case the encryption did
      //not succeed.
      Console::WriteLine( "Encryption failed." );
   }

}
using System;
using System.Security.Cryptography;
using System.Text;

class RSACSPSample
{

    static void Main()
    {
        try
        {
            //Create a UnicodeEncoder to convert between byte array and string.
            UnicodeEncoding ByteConverter = new UnicodeEncoding();

            //Create byte arrays to hold original, encrypted, and decrypted data.
            byte[] dataToEncrypt = ByteConverter.GetBytes("Data to Encrypt");
            byte[] encryptedData;
            byte[] decryptedData;

            //Create a new instance of RSACryptoServiceProvider to generate
            //public and private key data.
            using (RSACryptoServiceProvider RSA = new RSACryptoServiceProvider())
            {

                //Pass the data to ENCRYPT, the public key information 
                //(using RSACryptoServiceProvider.ExportParameters(false),
                //and a boolean flag specifying no OAEP padding.
                encryptedData = RSAEncrypt(dataToEncrypt, RSA.ExportParameters(false), false);

                //Pass the data to DECRYPT, the private key information 
                //(using RSACryptoServiceProvider.ExportParameters(true),
                //and a boolean flag specifying no OAEP padding.
                decryptedData = RSADecrypt(encryptedData, RSA.ExportParameters(true), false);

                //Display the decrypted plaintext to the console. 
                Console.WriteLine("Decrypted plaintext: {0}", ByteConverter.GetString(decryptedData));
            }
        }
        catch (ArgumentNullException)
        {
            //Catch this exception in case the encryption did
            //not succeed.
            Console.WriteLine("Encryption failed.");
        }
    }

    public static byte[] RSAEncrypt(byte[] DataToEncrypt, RSAParameters RSAKeyInfo, bool DoOAEPPadding)
    {
        try
        {
            byte[] encryptedData;
            //Create a new instance of RSACryptoServiceProvider.
            using (RSACryptoServiceProvider RSA = new RSACryptoServiceProvider())
            {

                //Import the RSA Key information. This only needs
                //to include the public key information.
                RSA.ImportParameters(RSAKeyInfo);

                //Encrypt the passed byte array and specify OAEP padding.  
                //OAEP padding is only available on Microsoft Windows XP or
                //later.  
                encryptedData = RSA.Encrypt(DataToEncrypt, DoOAEPPadding);
            }
            return encryptedData;
        }
        //Catch and display a CryptographicException  
        //to the console.
        catch (CryptographicException e)
        {
            Console.WriteLine(e.Message);

            return null;
        }
    }

    public static byte[] RSADecrypt(byte[] DataToDecrypt, RSAParameters RSAKeyInfo, bool DoOAEPPadding)
    {
        try
        {
            byte[] decryptedData;
            //Create a new instance of RSACryptoServiceProvider.
            using (RSACryptoServiceProvider RSA = new RSACryptoServiceProvider())
            {
                //Import the RSA Key information. This needs
                //to include the private key information.
                RSA.ImportParameters(RSAKeyInfo);

                //Decrypt the passed byte array and specify OAEP padding.  
                //OAEP padding is only available on Microsoft Windows XP or
                //later.  
                decryptedData = RSA.Decrypt(DataToDecrypt, DoOAEPPadding);
            }
            return decryptedData;
        }
        //Catch and display a CryptographicException  
        //to the console.
        catch (CryptographicException e)
        {
            Console.WriteLine(e.ToString());

            return null;
        }
    }
}
Imports System.Security.Cryptography
Imports System.Text

 _

Class RSACSPSample


    Shared Sub Main()
        Try
            'Create a UnicodeEncoder to convert between byte array and string.
            Dim ByteConverter As New UnicodeEncoding()

            'Create byte arrays to hold original, encrypted, and decrypted data.
            Dim dataToEncrypt As Byte() = ByteConverter.GetBytes("Data to Encrypt")
            Dim encryptedData() As Byte
            Dim decryptedData() As Byte

            'Create a new instance of RSACryptoServiceProvider to generate
            'public and private key data.
            Using RSA As New RSACryptoServiceProvider

                'Pass the data to ENCRYPT, the public key information 
                '(using RSACryptoServiceProvider.ExportParameters(false),
                'and a boolean flag specifying no OAEP padding.
                encryptedData = RSAEncrypt(dataToEncrypt, RSA.ExportParameters(False), False)

                'Pass the data to DECRYPT, the private key information 
                '(using RSACryptoServiceProvider.ExportParameters(true),
                'and a boolean flag specifying no OAEP padding.
                decryptedData = RSADecrypt(encryptedData, RSA.ExportParameters(True), False)

                'Display the decrypted plaintext to the console. 
                Console.WriteLine("Decrypted plaintext: {0}", ByteConverter.GetString(decryptedData))
            End Using
        Catch e As ArgumentNullException
            'Catch this exception in case the encryption did
            'not succeed.
            Console.WriteLine("Encryption failed.")
        End Try
    End Sub


    Public Shared Function RSAEncrypt(ByVal DataToEncrypt() As Byte, ByVal RSAKeyInfo As RSAParameters, ByVal DoOAEPPadding As Boolean) As Byte()
        Try
            Dim encryptedData() As Byte
            'Create a new instance of RSACryptoServiceProvider.
            Using RSA As New RSACryptoServiceProvider

                'Import the RSA Key information. This only needs
                'toinclude the public key information.
                RSA.ImportParameters(RSAKeyInfo)

                'Encrypt the passed byte array and specify OAEP padding.  
                'OAEP padding is only available on Microsoft Windows XP or
                'later.  
                encryptedData = RSA.Encrypt(DataToEncrypt, DoOAEPPadding)
            End Using
            Return encryptedData
            'Catch and display a CryptographicException  
            'to the console.
        Catch e As CryptographicException
            Console.WriteLine(e.Message)

            Return Nothing
        End Try
    End Function


    Public Shared Function RSADecrypt(ByVal DataToDecrypt() As Byte, ByVal RSAKeyInfo As RSAParameters, ByVal DoOAEPPadding As Boolean) As Byte()
        Try
            Dim decryptedData() As Byte
            'Create a new instance of RSACryptoServiceProvider.
            Using RSA As New RSACryptoServiceProvider
                'Import the RSA Key information. This needs
                'to include the private key information.
                RSA.ImportParameters(RSAKeyInfo)

                'Decrypt the passed byte array and specify OAEP padding.  
                'OAEP padding is only available on Microsoft Windows XP or
                'later.  
                decryptedData = RSA.Decrypt(DataToDecrypt, DoOAEPPadding)
                'Catch and display a CryptographicException  
                'to the console.
            End Using
            Return decryptedData
        Catch e As CryptographicException
            Console.WriteLine(e.ToString())

            Return Nothing
        End Try
    End Function
End Class

В следующем примере кода сведения о ключе, созданные RSACryptoServiceProvider с помощью , экспортируются в RSAParameters объект .

try
{
   //Create a new RSACryptoServiceProvider Object*.
   RSACryptoServiceProvider^ RSA = gcnew RSACryptoServiceProvider;
   
   //Export the key information to an RSAParameters object.
   //Pass false to export the public key information or pass
   //true to export public and private key information.
   RSAParameters RSAParams = RSA->ExportParameters( false );
}
catch ( CryptographicException^ e ) 
{
   //Catch this exception in case the encryption did
   //not succeed.
   Console::WriteLine( e->Message );
}
try
{
    //Create a new RSACryptoServiceProvider object.
    using (RSACryptoServiceProvider RSA = new RSACryptoServiceProvider())
    {

        //Export the key information to an RSAParameters object.
        //Pass false to export the public key information or pass
        //true to export public and private key information.
        RSAParameters RSAParams = RSA.ExportParameters(false);
    }
}
catch (CryptographicException e)
{
    //Catch this exception in case the encryption did
    //not succeed.
    Console.WriteLine(e.Message);
}
Try

    'Create a new RSACryptoServiceProvider object. 
    Dim RSA As New RSACryptoServiceProvider()

    'Export the key information to an RSAParameters object.
    'Pass false to export the public key information or pass
    'true to export public and private key information.
    Dim RSAParams As RSAParameters = RSA.ExportParameters(False)


Catch e As CryptographicException
    'Catch this exception in case the encryption did
    'not succeed.
    Console.WriteLine(e.Message)
End Try

Комментарии

Дополнительные сведения об этом API см. в разделе Дополнительные примечания API для RSACryptoServiceProvider.

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

RSACryptoServiceProvider()

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

RSACryptoServiceProvider(CspParameters)

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

RSACryptoServiceProvider(Int32)

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

RSACryptoServiceProvider(Int32, CspParameters)

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

Поля

KeySizeValue

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

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

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

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

Свойства

CspKeyContainerInfo

Возвращает объект CspKeyContainerInfo, описывающий дополнительные сведения о паре ключей шифрования.

KeyExchangeAlgorithm

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

KeyExchangeAlgorithm

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

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

Получает размер текущего ключа.

LegalKeySizes

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

LegalKeySizes

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

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

Возвращает или задает значение, указывающее, следует ли сохранить ключ в поставщике служб шифрования (CSP).

PublicOnly

Возвращает значение, указывающее, содержит ли объект RSACryptoServiceProvider только открытый ключ.

SignatureAlgorithm

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

SignatureAlgorithm

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

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

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

Методы

Clear()

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

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

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

Decrypt(Byte[], RSAEncryptionPadding)

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

Decrypt(Byte[], RSAEncryptionPadding)

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

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

Зашифровывает данные с помощью алгоритма RSA.

Encrypt(Byte[], RSAEncryptionPadding)

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

Encrypt(Byte[], RSAEncryptionPadding)

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

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

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

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

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

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

Этот метод не поддерживается в текущей версии.

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

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

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

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

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

Экспортирует большой двоичный объект, содержащий ключевые сведения, связанные с объектом RSACryptoServiceProvider.

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.

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

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

FromXmlString(String)

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

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

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

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

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

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

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

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

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

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

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

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

Импортирует большой двоичный объект, представляющий данные ключа 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)

Импортирует заданный RSAParameters.

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(Byte[], Int32, Int32, Object)

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

SignData(Byte[], Object)

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

SignData(ReadOnlySpan<Byte>, HashAlgorithmName, RSASignaturePadding)

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

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

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

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

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

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

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

SignHash(Byte[], HashAlgorithmName, RSASignaturePadding)

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

SignHash(Byte[], HashAlgorithmName, RSASignaturePadding)

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

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

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

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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

IDisposable.Dispose()

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

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

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

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

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