RSACryptoServiceProvider クラス

定義

暗号サービス プロバイダー (CSP : Cryptographic Service Provider) によって提供された 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

次のコード例では、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.

Microsoft Enhanced Cryptographic Provider がインストールされている場合、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. Microsoft Base Cryptographic Provider がインストールされている場合、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.

有効なキーサイズは、RSACryptoServiceProvider インスタンスによって使用される暗号化サービスプロバイダー (CSP) に依存します。Valid key sizes are dependent on the cryptographic service provider (CSP) that is used by the RSACryptoServiceProvider instance. Windows Csp では、Windows 8.1Windows 8.1より前の Windows バージョンでは 384 ~ 16384 ビットのキーサイズが有効になり、Windows 8.1Windows 8.1では512から16384ビットのキーサイズが有効になります。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 ドキュメントの「 Cryptgenkey関数」を参照してください。For more information, see CryptGenKey function in the Windows documentation.

Microsoft Cryptographic 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 クラスは 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 オブジェクトに関連付けられたキー情報を含む BLOB をエクスポートします。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 形式で、char ベースのパスワードを使用してエクスポートします。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)

char ベースのパスワードを使用して暗号化解除した後に、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()

現在のオブジェクトを表す string を返します。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)

char ベースのパスワードを使用して、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)

適用対象

こちらもご覧ください