RSACryptoServiceProvider Класс

Определение

Выполняет асимметричное шифрование и расшифровку с использованием реализации алгоритма RSA, предоставленного поставщиком служб шифрования (CSP).Performs asymmetric encryption and decryption using the implementation of the RSA algorithm provided by the cryptographic service provider (CSP). Этот класс не наследуется.This class cannot be inherited.

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

Примеры

В следующем примере кода класс RSACryptoServiceProvider используется для шифрования строки в массив байтов и последующей расшифровки байтов обратно в строку.The following code example uses the RSACryptoServiceProvider class to encrypt a string into an array of bytes and then decrypt the bytes back into a string.

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
                //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);
            }
            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.The following code example exports the key information created using the RSACryptoServiceProvider into an RSAParameters object.

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

Комментарии

Это реализация по умолчанию для RSA.This is the default implementation of RSA.

RSACryptoServiceProvider поддерживает размеры ключей от 384 бит до 16384 бит с шагом в 8 бит, если установлен Расширенный поставщик служб шифрования Майкрософт.The RSACryptoServiceProvider supports key sizes from 384 bits to 16384 bits in increments of 8 bits if you have the Microsoft Enhanced Cryptographic Provider installed. Он поддерживает размеры ключей от 384 бит до 512 бит с шагом в 8 бит, если установлен базовый поставщик служб шифрования Майкрософт.It supports key sizes from 384 bits to 512 bits in increments of 8 bits if you have the Microsoft Base Cryptographic Provider installed.

Допустимые размеры ключей зависят от поставщика служб шифрования (CSP), используемого экземпляром RSACryptoServiceProvider.Valid key sizes are dependent on the cryptographic service provider (CSP) that is used by the RSACryptoServiceProvider instance. CSP для Windows поддерживают ключи размером от 384 до 16384 бит для версий Windows до Windows 8.1Windows 8.1, а размеры ключей от 512 до 16384 бит для Windows 8.1Windows 8.1.Windows CSPs enable keys sizes of 384 to 16384 bits for Windows versions prior to Windows 8.1Windows 8.1, and key sizes of 512 to 16384 bits for Windows 8.1Windows 8.1. Дополнительные сведения см. в разделе Функция криптженкэй в документации по Windows.For more information, see CryptGenKey function in the Windows documentation.

Взаимодействие с Microsoft Cryptographic API (CAPI)Interoperation with the Microsoft Cryptographic API (CAPI)

В отличие от реализации RSA в неуправляемом CAPI, класс RSACryptoServiceProvider меняет порядок зашифрованного массива байтов после шифрования и до расшифровки.Unlike the RSA implementation in unmanaged CAPI, the RSACryptoServiceProvider class reverses the order of an encrypted array of bytes after encryption and before decryption. По умолчанию данные, зашифрованные классом RSACryptoServiceProvider, не могут быть расшифрованы функцией CAPI CryptDecrypt и данные, зашифрованные методом CryptEncrypt CAPI, не могут быть расшифрованы классом RSACryptoServiceProvider.By default, data encrypted by the RSACryptoServiceProvider class cannot be decrypted by the CAPI CryptDecrypt function and data encrypted by the CAPI CryptEncrypt method cannot be decrypted by the RSACryptoServiceProvider class.

Если не компенсировать обратный порядок при взаимодействии с API-интерфейсами, то класс RSACryptoServiceProvider создает исключение CryptographicException.If you do not compensate for the reverse ordering when interoperating between APIs, the RSACryptoServiceProvider class throws a CryptographicException.

Для взаимодействия с CAPI необходимо вручную изменить порядок зашифрованных байтов перед тем, как зашифрованные данные будут взаимодействовать с другим API.To interoperate with CAPI, you must manually reverse the order of encrypted bytes before the encrypted data interoperates with another API. Вы можете легко изменить порядок управляемых массивов байтов, вызвав метод Array.Reverse.You can easily reverse the order of a managed byte array by calling the Array.Reverse method.

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

RSACryptoServiceProvider()

Инициализирует новый экземпляр класса RSACryptoServiceProvider, используя ключ по умолчанию.Initializes a new instance of the RSACryptoServiceProvider class using the default key.

RSACryptoServiceProvider(CspParameters)

Инициализирует новый экземпляр класса RSACryptoServiceProvider с заданными параметрами.Initializes a new instance of the RSACryptoServiceProvider class with the specified parameters.

RSACryptoServiceProvider(Int32)

Инициализирует новый экземпляр класса RSACryptoServiceProvider с указанным размером ключа.Initializes a new instance of the RSACryptoServiceProvider class with the specified key size.

RSACryptoServiceProvider(Int32, CspParameters)

Инициализирует новый экземпляр класса RSACryptoServiceProvider указанным размером ключа и параметрами.Initializes a new instance of the RSACryptoServiceProvider class with the specified key size and parameters.

Поля

KeySizeValue

Представляет размер модуля ключа (в битах), используемого алгоритмом асимметричного шифрования.Represents the size, in bits, of the key modulus used by the asymmetric algorithm.

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

Задает размеры ключа, которые поддерживаются алгоритмом асимметричного шифрования.Specifies the key sizes that are supported by the asymmetric algorithm.

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

Свойства

CspKeyContainerInfo

Возвращает объект CspKeyContainerInfo, описывающий дополнительные сведения о паре ключей шифрования.Gets a CspKeyContainerInfo object that describes additional information about a cryptographic key pair.

KeyExchangeAlgorithm

Получает имя алгоритма обмена ключами, доступного в этой реализации RSA.Gets the name of the key exchange algorithm available with this implementation of RSA.

KeySize

Получает размер текущего ключа.Gets the size of the current key.

LegalKeySizes

Возвращает размеры ключа, которые поддерживаются алгоритмом асимметричного шифрования.Gets the key sizes that are supported by the asymmetric algorithm.

PersistKeyInCsp

Возвращает или задает значение, указывающее, следует ли сохранить ключ в поставщике служб шифрования (CSP).Gets or sets a value indicating whether the key should be persisted in the cryptographic service provider (CSP).

PublicOnly

Получает значение, указывающее, содержится ли в объекте RSACryptoServiceProvider только открытый ключ.Gets a value that indicates whether the RSACryptoServiceProvider object contains only a public key.

SignatureAlgorithm

Получает имя алгоритма подписи, доступного в этой реализации RSA.Gets the name of the signature algorithm available with this implementation of RSA.

UseMachineKeyStore

Получает или задает значение, указывающее, следует ли сохранять ключ в хранилище ключей компьютера, а не в хранилище профилей пользователей.Gets or sets a value indicating whether the key should be persisted in the computer's key store instead of the user profile store.

Методы

Clear()

Освобождает все ресурсы, используемые классом AsymmetricAlgorithm.Releases all resources used by the AsymmetricAlgorithm class.

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

Выполняет расшифровку данных с помощью алгоритма RSA.Decrypts data with the RSA algorithm.

Decrypt(Byte[], RSAEncryptionPadding)

Расшифровывает данные, зашифрованные с помощью алгоритма RSA с использованием указанного заполнения.Decrypts data that was previously encrypted with the RSA algorithm by using the specified padding.

DecryptValue(Byte[])

Этот метод не поддерживается в текущей версии.This method is not supported in the current version.

Dispose()

Освобождает все ресурсы, используемые текущим экземпляром класса AsymmetricAlgorithm.Releases all resources used by the current instance of the AsymmetricAlgorithm class.

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

Освобождает неуправляемые ресурсы, используемые классом AsymmetricAlgorithm (при необходимости освобождает и управляемые ресурсы).Releases the unmanaged resources used by the AsymmetricAlgorithm class and optionally releases the managed resources.

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

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

Encrypt(Byte[], RSAEncryptionPadding)

Шифрует данные с помощью алгоритма RSA с использованием указанного заполнения.Encrypts data with the RSA algorithm using the specified padding.

EncryptValue(Byte[])

В текущей версии этот метод не поддерживается.This method is not supported in the current version.

Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

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

Экспортирует большой двоичный объект, в котором содержатся основные сведения, связанные с объектом RSACryptoServiceProvider.Exports a blob containing the key information associated with an RSACryptoServiceProvider object.

ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters)

Экспортирует текущий ключ в формате PKCS #8 EncryptedPrivateKeyInfo с паролем, основанным на байтах.Exports the current key in the PKCS#8 EncryptedPrivateKeyInfo format with a byte-based password.

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

Экспортирует текущий ключ в формате PKCS #8 EncryptedPrivateKeyInfo с паролем, основанным на символах.Exports the current key in the PKCS#8 EncryptedPrivateKeyInfo format with a char-based password.

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

Экспортирует объект RSAParameters.Exports the RSAParameters.

ExportPkcs8PrivateKey()

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

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

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

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

Экспортирует открытую часть текущего ключа в формате PKCS#1 RSAPublicKey.Exports the public-key portion of the current key in the PKCS#1 RSAPublicKey format.

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

Экспортирует открытую часть текущего ключа в формате X.509 SubjectPublicKeyInfo.Exports the public-key portion of the current key in the X.509 SubjectPublicKeyInfo format.

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

Инициализирует объект RSA, используя данные ключа из строки XML.Initializes an RSA object from the key information from an XML string.

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

Служит хэш-функцией по умолчанию.Serves as the default hash function.

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

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

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

При переопределении в производном классе вычисляет хэш-значение указанного фрагмента массива байтов с помощью заданного хэш-алгоритма.When overridden in a derived class, computes the hash value of a specified portion of a byte array by using a specified hashing algorithm.

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

При переопределении в производном классе вычисляет хэш-значение указанного двоичного потока с помощью заданного алгоритма хэширования.When overridden in a derived class, computes the hash value of a specified binary stream by using a specified hashing algorithm.

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

Импортирует большой двоичный объект, представляющий данные ключа RSA.Imports a blob that represents RSA key information.

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

Импортирует пару из открытого и закрытого ключей из структуры PKCS#8 EncryptedPrivateKeyInfo после расшифровки с помощью пароля на основе байтов, заменяя ключи для этого объекта.Imports the public/private keypair from a PKCS#8 EncryptedPrivateKeyInfo structure after decrypting with a byte-based password, replacing the keys for this object.

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

Импортирует пару из открытого и закрытого ключей из структуры PKCS#8 EncryptedPrivateKeyInfo после расшифровки с помощью пароля на основе символов, заменяя ключи для этого объекта.Imports the public/private keypair from a PKCS#8 EncryptedPrivateKeyInfo structure after decrypting with a char-based password, replacing the keys for this object.

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

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

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

Импортирует пару из открытого и закрытого ключей из структуры PKCS#8 PrivateKeyInfo после расшифровки, заменяя ключи для этого объекта.Imports the public/private keypair from a PKCS#8 PrivateKeyInfo structure after decryption, replacing the keys for this object.

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

Импортирует пару из открытого и закрытого ключей из структуры PKCS#1 RSAPrivateKey после расшифровки, заменяя ключи для этого объекта.Imports the public/private keypair from a PKCS#1 RSAPrivateKey structure after decryption, replacing the keys for this object.

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

Импортирует открытый ключ из структуры PKCS#1 RSAPublicKey после расшифровки, заменяя ключи для этого объекта.Imports the public key from a PKCS#1 RSAPublicKey structure after decryption, replacing the keys for this object.

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

Импортирует открытый ключ из структуры X.509 SubjectPublicKeyInfo после расшифровки, заменяя ключи для этого объекта.Imports the public key from an X.509 SubjectPublicKeyInfo structure after decryption, replacing the keys for this object.

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

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

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

Вычисляет хэш-значение заданного массива байтов с помощью указанного алгоритма хэширования и режима заполнения, а затем подписывает полученное хэш-значение.Computes the hash value of the specified byte array using the specified hash algorithm and padding mode, and signs the resulting hash value.

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

Вычисляет хэш-значение части заданного массива байтов с помощью указанного алгоритма хэширования и режима заполнения, а затем подписывает полученное хэш-значение.Computes the hash value of a portion of the specified byte array using the specified hash algorithm and padding mode, and signs the resulting hash value.

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

Вычисляет хэш-значение подмножества заданного массива байтов с помощью заданного хэш-алгоритма и подписывает полученное значение хэша.Computes the hash value of a subset of the specified byte array using the specified hash algorithm, and signs the resulting hash value.

SignData(Byte[], Object)

Вычисляет значение хэша заданного массива байтов с помощью заданного хэш-алгоритма и подписывает полученное значение хэша.Computes the hash value of the specified byte array using the specified hash algorithm, and signs the resulting hash value.

SignData(Stream, HashAlgorithmName, RSASignaturePadding)

Вычисляет хэш-значение заданного потока с помощью указанного алгоритма хэширования и режима заполнения, а затем подписывает полученное хэш-значение.Computes the hash value of the specified stream using the specified hash algorithm and padding mode, and signs the resulting hash value.

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

Вычисляет значение хэша заданного входного потока с помощью заданного хэш-алгоритма и подписывает полученное значение хэша.Computes the hash value of the specified input stream using the specified hash algorithm, and signs the resulting hash value.

SignHash(Byte[], HashAlgorithmName, RSASignaturePadding)

Вычисляет подпись для указанного хэш-значения путем его шифрования с закрытым ключом с использованием указанного заполнения.Computes the signature for the specified hash value by encrypting it with the private key using the specified padding.

SignHash(Byte[], String)

Вычисляет подпись для указанного хэш-значения путем его шифрования с помощью закрытого ключа.Computes the signature for the specified hash value by encrypting it with the private key.

ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

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

Создает и возвращает строку XML, содержащую ключ текущего объекта RSA.Creates and returns an XML string containing the key of the current RSA object.

(Унаследовано от 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 в предоставленный буфер с использованием пароля на основе байтов.Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a byte-based password.

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

Пытается экспортировать текущий ключ в формате PKCS#8 EncryptedPrivateKeyInfo в предоставленный буфер с использованием пароля на основе символов.Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a char-based password.

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

Пытается экспортировать текущий ключ в формате PKCS#8 PrivateKeyInfo в предоставленный буфер.Attempts to export the current key in the PKCS#8 PrivateKeyInfo format into a provided buffer.

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

Пытается экспортировать текущий ключ в формате PKCS#1 RSAPrivateKey в предоставленный буфер.Attempts to export the current key in the PKCS#1 RSAPrivateKey format into a provided buffer.

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

Пытается экспортировать текущий ключ в формате PKCS#1 RSAPublicKey в предоставленный буфер.Attempts to export the current key in the PKCS#1 RSAPublicKey format into a provided buffer.

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

Пытается экспортировать текущий ключ в формате X.509 SubjectPublicKeyInfo в предоставленный буфер.Attempts to export the current key in the X.509 SubjectPublicKeyInfo format into a provided buffer.

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

Проверяет допустимость цифровой подписи, вычисляя хэш-значение указанных данных с помощью указанного алгоритма хэширования и заполнения, а затем сравнивая его с предоставленной подписью.Verifies that a digital signature is valid by calculating the hash value of the specified data using the specified hash algorithm and padding, and comparing it to the provided signature.

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

Проверяет допустимость цифровой подписи, вычисляя хэш-значение данных во фрагменте массива байтов с помощью указанного алгоритма хэширования и заполнения и сравнивая его с предоставленной подписью.Verifies that a digital signature is valid by calculating the hash value of the data in a portion of a byte array using the specified hash algorithm and padding, and comparing it to the provided signature.

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

Проверяет действительность цифровой подписи путем определения значения хэша в подписи с помощью предоставленного открытого ключа и сравнения его со значением хэша предоставленных данных.Verifies that a digital signature is valid by determining the hash value in the signature using the provided public key and comparing it to the hash value of the provided data.

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

Проверяет допустимость цифровой подписи, вычисляя хэш-значение указанного потока с помощью указанного алгоритма хэширования и заполнения, а затем сравнивая его с предоставленной подписью.Verifies that a digital signature is valid by calculating the hash value of the specified stream using the specified hash algorithm and padding, and comparing it to the provided signature.

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

Проверяет допустимость цифровой подписи путем определения хэш-значения в этой подписи с помощью указанного хэш-алгоритма и заполнения, сравнивая его с предоставленным хэш-значением.Verifies that a digital signature is valid by determining the hash value in the signature using the specified hashing algorithm and padding, and comparing it to the provided hash value.

VerifyHash(Byte[], String, Byte[])

Проверяет действительность цифровой подписи путем определения значения хэша в подписи с помощью предоставленного открытого ключа и сравнения его с предоставленным значением хэша.Verifies that a digital signature is valid by determining the hash value in the signature using the provided public key and comparing it to the provided hash value.

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

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

IDisposable.Dispose()

Описание этого члена см. в разделе Dispose().For a description of this member, see Dispose().

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

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

Дополнительно