RSA クラス

定義

RSA アルゴリズムのすべての実装が継承する、基本クラスを表します。Represents the base class from which all implementations of the RSA algorithm inherit.

public ref class RSA abstract : System::Security::Cryptography::AsymmetricAlgorithm
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class RSA : System.Security.Cryptography.AsymmetricAlgorithm
type RSA = class
    inherit AsymmetricAlgorithm
Public MustInherit Class RSA
Inherits AsymmetricAlgorithm
継承
派生
属性

注釈

このクラスを拡張すると、キーをRSA実装していることが証明されます。Extending this class proves that you are implementing an RSA key. これは、新しいRSAキーの実装を提供するすべての開発者に必要です。This is required for any developer providing a new RSA key implementation.

このクラスの唯一の目的は、 RSAアルゴリズムを識別するための階層メンバーとして使用することです。The only purpose of this class is as a hierarchy member for identification of the RSA algorithm.

Microsoft Enhanced Cryptographic Provider がインストールされている場合、RSACryptoServiceProvider は 384 ビットから 16384 ビットのキー長を 8 ビット単位でサポートします。The RSACryptoServiceProvider supports key lengths from 384 bits to 16384 bits in increments of 8 bits if you have the Microsoft Enhanced Cryptographic Provider installed. Microsoft ベース暗号化プロバイダーがインストールされている場合は、384 ビットから 512 ビットのキー長を 8 ビット単位でサポートします。It supports key lengths from 384 bits to 512 bits in increments of 8 bits if you have the Microsoft Base Cryptographic Provider installed.

コンストラクター

RSA()

RSA クラスの新しいインスタンスを初期化します。Initializes a new instance of the RSA class.

フィールド

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)

プロパティ

KeyExchangeAlgorithm

RSA のこの実装で使用可能なキー交換アルゴリズムの名前を取得します。Gets the name of the key exchange algorithm available with this implementation of RSA.

KeySize

非対称アルゴリズムで使用されるキー モジュラスのサイズをビット単位で取得または設定します。Gets or sets the size, in bits, of the key modulus used by the asymmetric algorithm.

(継承元 AsymmetricAlgorithm)
LegalKeySizes

非対称アルゴリズムでサポートされているキー サイズを取得します。Gets the key sizes that are supported by the asymmetric algorithm.

(継承元 AsymmetricAlgorithm)
SignatureAlgorithm

RSA のこの実装で使用可能なキー交換アルゴリズムの名前を取得します。Gets the name of the signature algorithm available with this implementation of RSA.

メソッド

Clear()

AsymmetricAlgorithm クラスによって使用されているすべてのリソースを解放します。Releases all resources used by the AsymmetricAlgorithm class.

(継承元 AsymmetricAlgorithm)
Create()

RSA アルゴリズムの既定の実装のインスタンスを作成します。Creates an instance of the default implementation of the RSA algorithm.

Create(Int32)

キー サイズを指定して新しい短期 RSA キーを作成します。Creates a new ephemeral RSA key with the specified key size.

Create(RSAParameters)

RSA キー パラメーターを指定して新しい短期 RSA キーを作成します。Creates a new ephemeral RSA key with the specified RSA key parameters.

Create(String)

RSA の指定した実装のインスタンスを作成します。Creates an instance of the specified implementation of RSA.

Decrypt(Byte[], RSAEncryptionPadding)

派生クラスでオーバーライドされると、指定されたパディング モードを使用して入力データを復号化します。When overridden in a derived class, decrypts the input data using the specified padding mode.

DecryptValue(Byte[])

派生クラスでオーバーライドされると、秘密キーを使用して入力データの暗号化を解除します。When overridden in a derived class, decrypts the input data using the private key.

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[], RSAEncryptionPadding)

派生クラスでオーバーライドされると、指定されたパディング モードを使用して入力データを暗号化します。When overridden in a derived class, encrypts the input data using the specified padding mode.

EncryptValue(Byte[])

派生クラスでオーバーライドされると、公開キーを使用して入力データを暗号化します。When overridden in a derived class, encrypts the input data using the public key.

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判定します。Determines whether the specified object is equal to the current object.

(継承元 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 をエクスポートします。When overridden in a derived class, 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.

ExportRSAPublicKey()

現在のキーの公開キーの部分を、PKCS#1 RSAPublicKey 形式でエクスポートします。Exports the public-key portion of the current key in the PKCS#1 RSAPublicKey format.

ExportSubjectPublicKeyInfo()

現在のキーの公開キーの部分を、X.509 SubjectPublicKeyInfo 形式でエクスポートします。Exports the public-key portion of the current key in the X.509 SubjectPublicKeyInfo format.

(継承元 AsymmetricAlgorithm)
FromXmlString(String)

XML 文字列のキー情報から RSA オブジェクトを初期化します。Initializes an RSA object from the key information from an XML string.

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.

HashData(Stream, HashAlgorithmName)

派生クラスでオーバーライドされると、指定したハッシュ アルゴリズムを使用して、指定したバイナリ ストリームのハッシュ値が計算されます。When overridden in a derived class, computes the hash value of a specified binary stream by using a specified hashing algorithm.

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.

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.

ImportParameters(RSAParameters)

派生クラスでオーバーライドされると、指定された RSAParameters をインポートします。When overridden in a derived class, 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.

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.

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.

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.

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.

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.

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.

SignHash(Byte[], HashAlgorithmName, RSASignaturePadding)

派生クラスでオーバーライドされると、指定されたパディングを使用して秘密キーで暗号化し、指定したハッシュ値の署名を計算します。When overridden in a derived class, computes the signature for the specified hash value by encrypting it with the private key using the specified padding.

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.

TryDecrypt(ReadOnlySpan<Byte>, Span<Byte>, RSAEncryptionPadding, Int32)
TryEncrypt(ReadOnlySpan<Byte>, Span<Byte>, RSAEncryptionPadding, Int32)
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.

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.

TryExportPkcs8PrivateKey(Span<Byte>, Int32)

PKCS#8 PrivateKeyInfo 形式の現在のキーを、指定のバッファーにエクスポートすることを試みます。Attempts to export the current key in the PKCS#8 PrivateKeyInfo format into a provided buffer.

TryExportRSAPrivateKey(Span<Byte>, Int32)

現在のキーを PKCS#1 RSAPrivateKey 形式で指定のバッファーにエクスポートすることを試みます。Attempts to export the current key in the PKCS#1 RSAPrivateKey format into a provided buffer.

TryExportRSAPublicKey(Span<Byte>, Int32)

現在のキーを PKCS#1 RSAPublicKey 形式で指定のバッファーにエクスポートすることを試みます。Attempts to export the current key in the PKCS#1 RSAPublicKey format into a provided buffer.

TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

現在のキーを X.509 SubjectPublicKeyInfo 形式で指定のバッファーにエクスポートすることを試みます。Attempts to export the current key in the X.509 SubjectPublicKeyInfo format into a provided buffer.

TryHashData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32)
TrySignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, RSASignaturePadding, Int32)
TrySignHash(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, RSASignaturePadding, Int32)
VerifyData(Byte[], Byte[], HashAlgorithmName, RSASignaturePadding)

指定したハッシュ アルゴリズムとパディングを使用して、指定したデーターのハッシュ値を計算し、これを指定した署名と比較することによって、デジタル署名が有効であることを確認します。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.

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.

VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName, RSASignaturePadding)
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.

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

指定したハッシュ アルゴリズムとパディングを使用して、署名のハッシュ値を決定し、これを指定したハッシュ値と比較することによって、デジタル署名が有効であることを確認します。Verifies that a digital signature is valid by determining the hash value in the signature using the specified hash algorithm and padding, and comparing it to the provided hash value.

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

明示的なインターフェイスの実装

IDisposable.Dispose()

このメンバーの詳細については、「Dispose()」をご覧ください。For a description of this member, see Dispose().

(継承元 AsymmetricAlgorithm)

適用対象

こちらもご覧ください