RSA クラス

定義

RSA アルゴリズムのすべての実装の継承元となる基本クラスを表します。

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

注釈

開発者は、特定の派生クラスではなく、 RSA 基底クラスに対してプログラミングすることをお勧めします。 派生クラスは、基になるシステム暗号化ライブラリとの相互運用を目的としています。

コンストラクター

名前 説明
RSA()

RSA クラスの新しいインスタンスを初期化します。

フィールド

名前 説明
KeySizeValue

非対称アルゴリズムで使用されるキーの剰余のサイズをビット単位で表します。

(継承元 AsymmetricAlgorithm)
LegalKeySizesValue

非対称アルゴリズムでサポートされるキー サイズを指定します。

(継承元 AsymmetricAlgorithm)

プロパティ

名前 説明
KeyExchangeAlgorithm

RSAのこの実装で使用できるキー交換アルゴリズムの名前を取得します。

KeyExchangeAlgorithm

派生クラスでオーバーライドされると、キー交換アルゴリズムの名前を取得します。 それ以外の場合は、 NotImplementedExceptionをスローします。

(継承元 AsymmetricAlgorithm)
KeySize

非対称アルゴリズムで使用されるキーの剰余のサイズをビット単位で取得または設定します。

(継承元 AsymmetricAlgorithm)
LegalKeySizes

非対称アルゴリズムでサポートされているキー サイズを取得します。

(継承元 AsymmetricAlgorithm)
SignatureAlgorithm

この RSAの実装で使用できる署名アルゴリズムの名前を取得します。

SignatureAlgorithm

派生クラスで実装された場合は、署名アルゴリズムの名前を取得します。 それ以外の場合は、常に NotImplementedExceptionをスローします。

(継承元 AsymmetricAlgorithm)

メソッド

名前 説明
Clear()

AsymmetricAlgorithm クラスによって使用されるすべてのリソースを解放します。

(継承元 AsymmetricAlgorithm)
Create()

RSA アルゴリズムの既定の実装のインスタンスを作成します。

Create(Int32)

指定したキー サイズを持つ新しいエフェメラル RSA キーを作成します。

Create(RSAParameters)

指定した RSA キー パラメーターを使用して、新しいエフェメラル RSA キーを作成します。

Create(String)
古い.

RSAの指定した実装のインスタンスを作成します。

Decrypt(Byte[], RSAEncryptionPadding)

派生クラスでオーバーライドされると、指定したパディング モードを使用して入力データの暗号化を解除します。

Decrypt(ReadOnlySpan<Byte>, RSAEncryptionPadding)

指定した埋め込みモードを使用して、入力データの暗号化を解除します。

Decrypt(ReadOnlySpan<Byte>, Span<Byte>, RSAEncryptionPadding)

指定した埋め込みモードを使用して、入力データの暗号化を解除します。

DecryptValue(Byte[])
古い.

派生クラスでオーバーライドされると、秘密キーを使用して入力データの暗号化を解除します。

Dispose()

AsymmetricAlgorithm クラスの現在のインスタンスで使用されているすべてのリソースを解放します。

(継承元 AsymmetricAlgorithm)
Dispose(Boolean)

AsymmetricAlgorithm クラスによって使用されるアンマネージ リソースを解放し、必要に応じてマネージド リソースを解放します。

(継承元 AsymmetricAlgorithm)
Encrypt(Byte[], RSAEncryptionPadding)

派生クラスでオーバーライドされると、指定したパディング モードを使用して入力データを暗号化します。

Encrypt(ReadOnlySpan<Byte>, RSAEncryptionPadding)

指定した埋め込みモードを使用して入力データを暗号化します。

Encrypt(ReadOnlySpan<Byte>, Span<Byte>, RSAEncryptionPadding)

指定した埋め込みモードを使用して入力データを暗号化します。

EncryptValue(Byte[])
古い.

派生クラスでオーバーライドされると、公開キーを使用して入力データを暗号化します。

Equals(Object)

指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters)

PKCS#8 EncryptedPrivateKeyInfo 形式の現在のキーをバイトベースのパスワードでエクスポートします。

(継承元 AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters)

現在のキーを PKCS#8 EncryptedPrivateKeyInfo 形式で char ベースのパスワードでエクスポートします。

(継承元 AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters)

PKCS#8 EncryptedPrivateKeyInfo 形式の現在のキーを、PEM でエンコードされたバイトベースのパスワードでエクスポートします。

(継承元 AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters)

現在のキーを PKCS#8 EncryptedPrivateKeyInfo 形式で、文字ベースのパスワード PEM でエンコードしてエクスポートします。

(継承元 AsymmetricAlgorithm)
ExportParameters(Boolean)

派生クラスでオーバーライドされると、 RSAParametersをエクスポートします。

ExportPkcs8PrivateKey()

PKCS#8 PrivateKeyInfo 形式で現在のキーをエクスポートします。

(継承元 AsymmetricAlgorithm)
ExportPkcs8PrivateKeyPem()

PKCS#8 PrivateKeyInfo 形式の PEM でエンコードされた現在のキーをエクスポートします。

(継承元 AsymmetricAlgorithm)
ExportRSAPrivateKey()

PKCS#1 RSAPrivateKey 形式で現在のキーをエクスポートします。

ExportRSAPrivateKeyPem()

PKCS#1 RSAPrivateKey 形式の PEM でエンコードされた現在のキーをエクスポートします。

ExportRSAPublicKey()

現在のキーの公開キー部分を PKCS#1 RSAPublicKey 形式でエクスポートします。

ExportRSAPublicKeyPem()

現在のキーの公開キー部分を PKCS#1 RSAPublicKey 形式 (PEM エンコード) でエクスポートします。

ExportSubjectPublicKeyInfo()

現在のキーの公開キー部分を X.509 SubjectPublicKeyInfo 形式でエクスポートします。

(継承元 AsymmetricAlgorithm)
ExportSubjectPublicKeyInfoPem()

現在のキーの公開キー部分を、PEM でエンコードされた X.509 SubjectPublicKeyInfo 形式でエクスポートします。

(継承元 AsymmetricAlgorithm)
FromXmlString(String)

XML 文字列のキー情報から RSA オブジェクトを初期化します。

GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetMaxOutputSize()

RSA 操作で生成できる最大バイト数を取得します。

GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
HashData(Byte[], Int32, Int32, HashAlgorithmName)

派生クラスでオーバーライドされた場合は、指定したハッシュ アルゴリズムを使用して、バイト配列の指定した部分のハッシュ値を計算します。

HashData(Stream, HashAlgorithmName)

派生クラスでオーバーライドされると、指定したハッシュ アルゴリズムを使用して、指定したバイナリ ストリームのハッシュ値を計算します。

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

バイトベースのパスワードで復号化した後、PKCS#8 EncryptedPrivateKeyInfo 構造体から公開/秘密キーペアをインポートし、このオブジェクトのキーを置き換えます。

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

派生クラスでオーバーライドされると、バイトベースのパスワードで復号化した後、PKCS#8 EncryptedPrivateKeyInfo 構造体から公開/秘密キーペアをインポートし、このオブジェクトのキーを置き換えます。

(継承元 AsymmetricAlgorithm)
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32)

このオブジェクトのキーを置き換えて、文字ベースのパスワードで暗号化を解除した後、PKCS#8 EncryptedPrivateKeyInfo 構造体から公開/秘密キーペアをインポートします。

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

派生クラスでオーバーライドされると、char ベースのパスワードで復号化した後、PKCS#8 EncryptedPrivateKeyInfo 構造体から公開/秘密キーペアをインポートし、このオブジェクトのキーを置き換えます。

(継承元 AsymmetricAlgorithm)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Byte>)

暗号化された RFC 7468 PEM でエンコードされた秘密キーをインポートし、このオブジェクトのキーを置き換えます。

ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Char>)

暗号化された RFC 7468 PEM でエンコードされた秘密キーをインポートし、このオブジェクトのキーを置き換えます。

ImportFromPem(ReadOnlySpan<Char>)

RFC 7468 PEM でエンコードされたキーをインポートし、このオブジェクトのキーを置き換えます。

ImportParameters(RSAParameters)

派生クラスでオーバーライドされると、指定した RSAParametersをインポートします。

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

復号化後に PKCS#8 PrivateKeyInfo 構造体から公開/秘密キーペアをインポートし、このオブジェクトのキーを置き換えます。

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

派生クラスでオーバーライドされると、復号化後に PKCS#8 PrivateKeyInfo 構造体から公開/秘密キーペアをインポートし、このオブジェクトのキーを置き換えます。

(継承元 AsymmetricAlgorithm)
ImportRSAPrivateKey(ReadOnlySpan<Byte>, Int32)

暗号化解除後に PKCS#1 RSAPrivateKey 構造体から公開/秘密キーペアをインポートし、このオブジェクトのキーを置き換えます。

ImportRSAPublicKey(ReadOnlySpan<Byte>, Int32)

復号化後に PKCS#1 RSAPublicKey 構造体から公開キーをインポートし、このオブジェクトのキーを置き換えます。

ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

復号化後に X.509 SubjectPublicKeyInfo 構造体から公開キーをインポートし、このオブジェクトのキーを置き換えます。

ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

派生クラスでオーバーライドされると、復号化後に X.509 SubjectPublicKeyInfo 構造体から公開キーをインポートし、このオブジェクトのキーを置き換えます。

(継承元 AsymmetricAlgorithm)
MemberwiseClone()

現在の Objectの簡易コピーを作成します。

(継承元 Object)
SignData(Byte[], HashAlgorithmName, RSASignaturePadding)

指定したハッシュ アルゴリズムとパディング モードを使用して、指定したバイト配列のハッシュ値を計算し、結果のハッシュ値に署名します。

SignData(Byte[], Int32, Int32, HashAlgorithmName, RSASignaturePadding)

指定したハッシュ アルゴリズムとパディング モードを使用して、指定したバイト配列の一部のハッシュ値を計算し、結果のハッシュ値に署名します。

SignData(ReadOnlySpan<Byte>, HashAlgorithmName, RSASignaturePadding)

指定したデータのハッシュ値を計算し、署名します。

SignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, RSASignaturePadding)

指定されたアルゴリズムを使用して指定されたデータのハッシュを計算し、現在のキーでハッシュに署名し、指定されたバッファーに署名を書き込みます。

SignData(Stream, HashAlgorithmName, RSASignaturePadding)

指定したハッシュ アルゴリズムとパディング モードを使用して、指定したストリームのハッシュ値を計算し、結果のハッシュ値に署名します。

SignHash(Byte[], HashAlgorithmName, RSASignaturePadding)

派生クラスでオーバーライドされると、指定したパディングを使用して、指定したハッシュ値のシグネチャを計算します。

SignHash(ReadOnlySpan<Byte>, HashAlgorithmName, RSASignaturePadding)

指定したパディングを使用して、指定したハッシュ値の署名を計算します。

SignHash(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, RSASignaturePadding)

現在のキーを使用してハッシュに署名し、指定されたバッファーに署名を書き込みます。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)
ToXmlString(Boolean)

現在の RSA オブジェクトのキーを含む XML 文字列を作成して返します。

TryDecrypt(ReadOnlySpan<Byte>, Span<Byte>, RSAEncryptionPadding, Int32)

指定したパディング モードを使用して入力データの暗号化を解除し、指定されたバッファーに結果を書き込みます。

TryEncrypt(ReadOnlySpan<Byte>, Span<Byte>, RSAEncryptionPadding, Int32)

指定した埋め込みモードで入力データを指定されたバッファーに暗号化しようとします。

TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32)

バイトベースのパスワードを使用して、PKCS#8 EncryptedPrivateKeyInfo 形式の現在のキーを指定されたバッファーにエクスポートしようとします。

TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32)

派生クラスでオーバーライドされると、バイトベースのパスワードを使用して、PKCS#8 EncryptedPrivateKeyInfo 形式の現在のキーを指定されたバッファーにエクスポートしようとします。

(継承元 AsymmetricAlgorithm)
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32)

文字ベースのパスワードを使用して、PKCS#8 EncryptedPrivateKeyInfo 形式の現在のキーを指定されたバッファーにエクスポートしようとします。

TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32)

派生クラスでオーバーライドされると、文字ベースのパスワードを使用して、PKCS#8 EncryptedPrivateKeyInfo 形式の現在のキーを指定されたバッファーにエクスポートしようとします。

(継承元 AsymmetricAlgorithm)
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters, Span<Char>, Int32)

PKCS#8 EncryptedPrivateKeyInfo 形式の現在のキーを、PEM でエンコードされたバイトベースのパスワードでエクスポートしようとします。

(継承元 AsymmetricAlgorithm)
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters, Span<Char>, Int32)

現在のキーを PKCS#8 EncryptedPrivateKeyInfo 形式で、文字ベースのパスワード PEM でエンコードしてエクスポートします。

(継承元 AsymmetricAlgorithm)
TryExportPkcs8PrivateKey(Span<Byte>, Int32)

PKCS#8 PrivateKeyInfo 形式の現在のキーを指定されたバッファーにエクスポートしようとします。

TryExportPkcs8PrivateKey(Span<Byte>, Int32)

派生クラスでオーバーライドされると、PKCS#8 PrivateKeyInfo 形式の現在のキーを指定されたバッファーにエクスポートしようとします。

(継承元 AsymmetricAlgorithm)
TryExportPkcs8PrivateKeyPem(Span<Char>, Int32)

PEM でエンコードされた PKCS#8 PrivateKeyInfo 形式の現在のキーを指定されたバッファーにエクスポートしようとします。

(継承元 AsymmetricAlgorithm)
TryExportRSAPrivateKey(Span<Byte>, Int32)

PKCS#1 RSAPrivateKey 形式の現在のキーを指定されたバッファーにエクスポートしようとします。

TryExportRSAPrivateKeyPem(Span<Char>, Int32)

PEM でエンコードされた PKCS#1 RSAPrivateKey 形式の現在のキーを指定されたバッファーにエクスポートしようとします。

TryExportRSAPublicKey(Span<Byte>, Int32)

PKCS#1 RSAPublicKey 形式の現在のキーを指定されたバッファーにエクスポートしようとします。

TryExportRSAPublicKeyPem(Span<Char>, Int32)

PEM でエンコードされた PKCS#1 RSAPublicKey 形式の現在のキーを指定されたバッファーにエクスポートしようとします。

TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

X.509 SubjectPublicKeyInfo 形式の現在のキーを指定されたバッファーにエクスポートしようとします。

TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

派生クラスでオーバーライドされると、X.509 SubjectPublicKeyInfo 形式の現在のキーを指定されたバッファーにエクスポートしようとします。

(継承元 AsymmetricAlgorithm)
TryExportSubjectPublicKeyInfoPem(Span<Char>, Int32)

PEM でエンコードされた X.509 SubjectPublicKeyInfo 形式の現在のキーを、指定されたバッファーにエクスポートしようとします。

(継承元 AsymmetricAlgorithm)
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)

指定したハッシュ アルゴリズムとパディングを使用して指定したデータのハッシュ値を計算し、指定された署名と比較することで、デジタル署名が有効であることを確認します。

VerifyData(Byte[], Int32, Int32, Byte[], HashAlgorithmName, RSASignaturePadding)

指定したハッシュ アルゴリズムとパディングを使用してバイト配列の一部のデータのハッシュ値を計算し、指定されたシグネチャと比較することで、デジタル署名が有効であることを確認します。

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

指定したハッシュ アルゴリズムとパディングを使用して指定したデータのハッシュ値を計算し、指定された署名と比較することで、デジタル署名が有効であることを確認します。

VerifyData(Stream, Byte[], HashAlgorithmName, RSASignaturePadding)

指定したハッシュ アルゴリズムとパディングを使用して指定したストリームのハッシュ値を計算し、指定された署名と比較することで、デジタル署名が有効であることを確認します。

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

指定したハッシュ アルゴリズムとパディングを使用して署名のハッシュ値を決定し、指定されたハッシュ値と比較することで、デジタル署名が有効であることを確認します。

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

指定したハッシュ アルゴリズムとパディングを使用して署名のハッシュ値を決定し、指定されたハッシュ値と比較することで、デジタル署名が有効であることを確認します。

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

名前 説明
IDisposable.Dispose()

この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。

このメンバーの説明については、 Dispose()を参照してください。

(継承元 AsymmetricAlgorithm)

適用対象

こちらもご覧ください