RSACryptoServiceProvider 클래스

정의

CSP(암호화 서비스 공급자)가 제공하는 RSA 알고리즘의 구현을 사용하여 비대칭 암호화 및 암호 해독을 수행합니다.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

다음 코드 예제를 사용 하 여 만든 키 정보를 내보내는 합니다 RSACryptoServiceProviderRSAParameters 개체입니다.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 는 Microsoft Enhanced Cryptographic Provider 설치 되어 있는 경우 8 비트씩 증가 16384 비트 384에서 키 크기를 지원 합니다.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. Microsoft Base Cryptographic Provider 설치 되어 있는 경우 8 비트씩 증가 512 비트 384에서 키 크기를 지원 합니다.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. Windows Csp 사용 키 이전 Windows 버전에 대 한 384를 16384 비트 크기 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. 자세한 내용은 CryptGenKey Windows 설명서에는 함수입니다.For more information, see CryptGenKey function in the Windows documentation.

Microsoft 암호화 API (CAPI)와 상호 운용Interoperation with the Microsoft Cryptographic API (CAPI)

관리 되지 않는 CAPI에 RSA 구현과 달리는 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 함수와 capi 암호화 된 데이터 CryptEncrypt 여 메서드를 해독할 수 없습니다는 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 throw 클래스는 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)

연결 된 키 정보를 포함 하는 blob을 내보냅니다는 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)

XML 문자열의 키 정보를 사용하여 RSA 개체를 초기화합니다.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 키 정보를 나타내는 blob을 가져옵니다.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)

현재 RSA 개체의 키가 들어 있는 XML 문자열을 만들고 반환합니다.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)

적용 대상

추가 정보